cargo-vendor(1)
定义
cargo-vendor - 管理所有本地依赖
概要
cargo vendor
[options] [path]
说明
此cargo子命令将把项目crates.io和git所有依赖放到指定的 <path>
目录下。
命令完成后,由 <path>
指定的vendor目录将包含所有来自指定依赖的远程资源。
除默认配置清单,还可以用 -s
选项指定其他配置清单。
cargo vendor
命令也会打印出使用外部资源所需的配置,需要将其添加到 .cargo/config.toml
中。
选项
Vendor选项
-s
manifest--sync
manifest- 为工作空间指定一个额外的
Cargo.toml
配置清单,将统一管理并同步输出。可以指定多次。 --no-delete
- 当进行vendor,不删除"vendor"目录,保留vendor目录的所有内容。
--respect-source-config
- 在
.cargo/config.toml
中默认忽略[source]
配置,而是从crates.io下载crate时读取并使用, 比如 --versioned-dirs
- 通常,添加版本是为了消除同一包的多版本歧义。这个选项使"vendor"目录中的所有目录都版本化,使得追踪包的历史更容易,当只有一部分包发生变化时,可以提升重新版本化的性能。
配置选项
--manifest-path
pathCargo.toml
文件路径。 默认情况下,Cargo会在当前目录或任何父目录下搜索Cargo.toml
文件。--frozen
--locked
- 这些标志都要求
Cargo.lock
文件是最新的。 如果lock文件丢失, 或是需要更新, Cargo会返回错误并退出,--frozen
选项还会阻止cargo通过网络来判断其是否过期。可以用于断言
Cargo.lock
文件是否最新状态(例如CI构建)或避免网络访问。 --offline
- 阻止Cargo访问网络。如果不指定该选项,Cargo会在需要使用网络但不可用时停止构建并返回错误。设置该标识,Cargo将尽可能不使用网络完成构建。
需注意,这样可能会导致与在线模式不同的依赖处理,Cargo将限制仅使用已下载到本地的crate,即使本地索引中有更新版本。 查阅 cargo-fetch(1) 命令,在脱机前下载依赖。
也可以用
net.offline
配置。
显示选项
-v
--verbose
- 进行详细输出。可以指定两次来开启 "非常详细" ,输出更多的额外信息,像是依赖项的警告和构建脚本的输出信息。
也可以通过
term.verbose
配置。 -q
--quiet
- 不打印 cargo 日志信息。
也可以用
term.quiet
配置。 --color
when- 使用彩色输出。有效值:
auto
(默认):自动检测终端是否支持彩色。always
: 总是显示彩色。never
: 总不显示彩色。
也可以用
term.color
配置。
Common Options
+
toolchain- 如果Cargo已经通过rustup安装,并且第一个传给
cargo
的参数以+
开头, 则当作rustup的工具链名称。(例如+stable
或+nightly
). 查阅 rustup 文档 了解关于工具链覆盖的信息。 --config
KEY=VALUE or PATH- 覆盖Cargo配置项的值,该参数应当为TOML
KEY=VALUE
语法, 或者提供附加的配置文件的路径。该标识可以多次指定。 查阅 命令行覆盖部分 获取更多信息 -h
--help
- 打印帮助信息。
-Z
flag- Cargo不稳定的(每日构建)标志。运行
cargo -Z help
了解详情。
环境
查阅 参考 了解Cargo读取环境变量。
退出状态
0
: Cargo 执行成功。101
: Cargo 未执行完成。
示例
-
将所有的依赖放到本地的 "vendor" 文件夹中。
cargo vendor
-
将所有依赖放到本地的 "third-party/vendor" 文件夹中
cargo vendor third-party/vendor
-
将当前工作空间以及另一个工作空间改为 "vendor" 。
cargo vendor -s ../path/to/Cargo.toml