货物自定义输出目录

mq7*_*mq7 3 rust rust-cargo

我把它放在我的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.有关所有选项,请参阅上面的链接.


She*_*ter 5

使用CARGO_TARGET_DIR环境变量

CARGO_TARGET_DIR=../my-target cargo run --bin my_project
Run Code Online (Sandbox Code Playgroud)

(这是在问题中说明的,但我想为跳过它的任何人强调它)