我把它放在我的Cargo.toml中
[build]
target-dir = "../my-target"
Run Code Online (Sandbox Code Playgroud)
但是Cargo不承认这个钥匙.
cargo run --release --bin my_project
warning: unused manifest key: build
error: failed to open: /.../project-root/target/releases/.cargo-lock
Caused by:
Permission denied (os error 13)
Run Code Online (Sandbox Code Playgroud)
带有环境变量的自定义目标目录有效:
CARGO_TARGET_DIR=../my-target cargo run --bin my_project
Run Code Online (Sandbox Code Playgroud)
但是如何在Cargo.toml中指定"../my-target"
小智 6
[build] 是货物级配置而不是项目.
来自https://doc.rust-lang.org/cargo/reference/config.html:
本文档将解释Cargo的配置系统如何工作,以及可用的密钥或配置.有关通过其清单配置项目的信息,请参阅清单格式.
把你的[build]内心$PROJECT_DIR/.cargo/config或甚至$HOME/.cargo/config.有关所有选项,请参阅上面的链接.
CARGO_TARGET_DIR=../my-target cargo run --bin my_project
Run Code Online (Sandbox Code Playgroud)
(这是在问题中说明的,但我想为跳过它的任何人强调它)