看起来Cargo在搜索其配置目录时的默认行为是查看当前用户的主目录(~/.cargo在我的系统上).如何修改此行为以使Cargo在用户提供的目录中查找?
aSp*_*pex 16
环境变量货物读取
您可以覆盖这些环境变量以更改Cargo在系统上的行为:
CARGO_HOME- Cargo维护注册表索引的本地缓存和crate的git checkout.默认情况下$HOME/.cargo,这些存储在 ,但此变量会覆盖此目录的位置.缓存包后,clean命令不会删除它.CARGO_TARGET_DIR- 相对于当前工作目录放置所有生成的工件的位置.RUSTC- 而不是运行rustc,Cargo将执行此指定的编译器.RUSTC_WRAPPER- 而不是简单地运行rustc,Cargo将执行此指定的包装,将其命令行参数传递给rustc调用,第一个参数为rustc.RUSTDOC- 而不是运行rustdoc,Cargo将执行此指定的rustdoc实例.RUSTDOCFLAGS- 一个以空格分隔的自定义标志列表,用于传递给rustdocCargo执行的所有调用.与cargo rustdoc此相反 ,这对于将标志传递给所有rustdoc实例非常有用.RUSTFLAGS- 以空格分隔的自定义标志列表,以传递给Cargo执行的所有编译器调用.与cargo rustc此相反,这对于将标志传递给所有编译器实例非常有用.CARGO_INCREMENTAL- 如果设置为1,则Cargo将强制为当前编译启用增量编译,当设置为0时,将强制禁用它.如果不存在此env var,则将使用货物的默认值.CARGO_CACHE_RUSTC_INFO- 如果设置为0,则Cargo不会尝试缓存编译器版本信息.
层次结构
Cargo允许特定包的本地配置以及git等全局配置.Cargo将其扩展为分层策略.例如,如果调用了Cargo
/projects/foo/bar/baz,则将按以下顺序探测并统一以下配置文件:
/projects/foo/bar/baz/.cargo/config/projects/foo/bar/.cargo/config/projects/foo/.cargo/config/projects/.cargo/config/.cargo/config$HOME/.cargo/config使用此结构,您可以指定每个程序包的配置,甚至可以将其检入版本控制.您还可以在主目录中使用配置文件指定个人默认值.