看起来,Cargo在搜索其配置目录时的默认行为是查找当前用户的主目录(在我的系统上为~/.cargo
)。如何修改此行为,使Cargo查找用户提供的目录呢?
看起来,Cargo在搜索其配置目录时的默认行为是查找当前用户的主目录(在我的系统上为~/.cargo
)。如何修改此行为,使Cargo查找用户提供的目录呢?
您可以覆盖这些环境变量以更改系统上Cargo的行为:
CARGO_HOME
— Cargo维护注册表索引的本地缓存以及创建箱体的git检出。默认情况下,它们存储在$HOME/.cargo
下,但是此变量会覆盖此目录的位置。一旦箱体被缓存,则不会被清除命令删除。CARGO_TARGET_DIR
— 所有生成的构件的放置位置,相对于当前工作目录。RUSTC
— 而不是运行rustc
,Cargo将执行指定的编译器。RUSTC_WRAPPER
— 而不是简单地运行rustc
,Cargo将执行指定的包装器,将rustc调用作为其命令行参数,第一个参数为rustc。RUSTDOC
— 而不是运行rustdoc
,Cargo将执行指定的rustdoc
实例。RUSTDOCFLAGS
— 传递给Cargo执行的所有rustdoc
调用的自定义标志的以空格分隔的列表。与cargo rustdoc
相比,这对于将标志传递给所有rustdoc
实例很有用。RUSTFLAGS
— 传递给Cargo执行的所有编译器调用的自定义标志的以空格分隔的列表。与cargo rustc
相比,这对于将标志传递给所有编译器实例很有用。CARGO_INCREMENTAL
— 如果将其设置为1,则Cargo将强制启用当前编译的增量编译,并在设置为0时强制禁用它。如果未设置此环境变量,则Cargo将使用默认的增量编译策略。CARGO_HOME
— 如果设置了该变量,则 Cargo 将使用其指定的路径作为 Cargo 的根目录,否则将使用默认路径 $HOME/.cargo
。CARGO_CONFIG
— 如果设置了该变量,则 Cargo 将在该文件指定的路径中查找配置文件,否则将按照层次结构规则查找配置文件。CARGO_BUILD_JOBS
— 如果设置了该变量,则 Cargo 将并行构建 Crate 的数量限制为该值。如果未设置此变量,则使用计算机上可用的所有 CPU 核心。CARGO_INCREMENTAL
— 如果设置了该变量,则启用增量编译。相反,如果未设置此变量,则使用 Cargo 的默认值。CARGO_TERM_COLOR
— 如果设置了该变量,则启用控制台输出的着色。如果未设置此变量,则按照控制台是否支持颜色来确定是否启用着色。CARGO_LOG
— 如果设置了该变量,则启用详细的日志记录。可以设置多个级别,例如 warn, cargo::ops::cargo_rustc::fingerprint=trace
。如果未设置此变量,则使用 Cargo 的默认值。CARGO_TARGET_DIR
— 如果设置了该变量,则使用其指定的路径作为 Crate 构建输出目录,否则将使用默认值 target
。CARGO_HOME_REGISTRY
— 如果设置了该变量,则 Cargo 将尝试从该路径中查找注册表索引。否则,将按照Cargo 文档中的默认值进行搜索。CARGO_INSTALL_ROOT
— 如果设置了该变量,则安装二进制文件时将使用指定的路径,否则将使用默认路径。CARGO_AUDIT_LOCKFILE
— 如果设置了该变量,则指定 Cargo 在运行 cargo audit
命令时要使用的文件。否则默认使用 Cargo.lock
文件。CARGO_DEFAULT_BUILD_JOBS
— 如果设置了该变量,则将并行构建 Crate 的默认数量限制为该值。如果未设置此变量,则使用 Cargo 的默认值。CARGO_HTTP_CHECK_REVOKE
— 如果设置了该变量,则在下载 Crates 时检查证书吊销列表。否则不检查。CARGO_HTTP_TIMEOUT
— 如果设置了该变量,则设置 HTTP 超时(秒)。否则将使用默认值。CARGO_NET_GIT_FETCH_WITH_CLI
— 如果设置了该变量,则 Cargo 使用本地 Git CLI 进行 fetch 操作。否则使用内置的 Git 操作库。CARGO_NET_OFFLINE
— 如果设置了该变量,则禁用任何网络操作。否则按照用户系统的网络配置进行操作。CARGO_PROFILE_RELEASE_CODEGEN_UNITS
— 如果设置了该变量,则设置 Release 模式下生成代码的并发单元数。否则将使用 Cargo 的默认值。CARGO_PROFILE_RELEASE_LTO
— 如果设置了该变量,则启用 Link-Time Optimization(LTO)优化。否则将使用 Cargo 的默认值。CARGO_PROFILE_RELEASE_PANIC
— 如果设置了该变量,则启用 Panic 支持。否则将使用 Cargo 的默认值。</默认位置可以通过环境变量$CARGO_HOME
进行更改,它覆盖了默认位置$HOME/.cargo
。