cargo-vendor(1)
定义
cargo-vendor - 管理所有本地依赖
概要
cargo vendor [options] [path]
说明
此cargo子命令将把项目crates.io和git所有依赖放到指定的 <path> 目录下。
命令完成后,由 <path> 指定的vendor目录将包含所有来自指定依赖的远程资源。
除默认配置清单,还可以用 -s 选项指定其他配置清单。
cargo vendor 命令也会打印出使用外部资源所需的配置,需要将其添加到 .cargo/config.toml 中。
选项
Vendor选项
-smanifest--syncmanifest- 为工作空间指定一个额外的
Cargo.toml配置清单,将统一管理并同步输出。可以指定多次。 --no-delete- 当进行vendor,不删除"vendor"目录,保留vendor目录的所有内容。
--respect-source-config- 在
.cargo/config.toml中默认忽略[source]配置,而是从crates.io下载crate时读取并使用, 比如 --versioned-dirs- 通常,添加版本是为了消除同一包的多版本歧义。这个选项使"vendor"目录中的所有目录都版本化,使得追踪包的历史更容易,当只有一部分包发生变化时,可以提升重新版本化的性能。
配置选项
--manifest-pathpathCargo.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配置。 --colorwhen- 使用彩色输出。有效值:
auto(默认):自动检测终端是否支持彩色。always: 总是显示彩色。never: 总不显示彩色。
也可以用
term.color配置。
Common Options
+toolchain- 如果Cargo已经通过rustup安装,并且第一个传给
cargo的参数以+开头, 则当作rustup的工具链名称。(例如+stable或+nightly). 查阅 rustup 文档 了解关于工具链覆盖的信息。 --configKEY=VALUE or PATH- 覆盖Cargo配置项的值,该参数应当为TOML
KEY=VALUE语法, 或者提供附加的配置文件的路径。该标识可以多次指定。 查阅 命令行覆盖部分 获取更多信息 -h--help- 打印帮助信息。
-Zflag- 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