22 个版本
使用旧的 Rust 2015
0.1.23 | 2019年2月2日 |
---|---|
0.1.22 | 2018年12月7日 |
0.1.21 | 2018年11月1日 |
0.1.15 | 2018年5月18日 |
0.1.0 | 2015年8月24日 |
#157 in #子命令
每月下载量 446
26KB
492 行
cargo-vendor
这是一个 Cargo 子命令,它使用 Cargo 的 源替换 支持将所有 crates.io 依赖项部署到本地目录。
安装
目前可以使用以下方式安装
$ cargo install cargo-vendor
您还可以安装为此crate构建的预编译二进制文件。
示例用法
只需在任一 Cargo 项目中运行 cargo vendor
$ cargo vendor
add this to your .cargo/config for this project:
[source.crates-io]
replace-with = 'vendored-sources'
[source.vendored-sources]
directory = '/home/alex/code/cargo-vendor/vendor'
这将填充 vendor
目录,该目录包含所有 crates.io 依赖项的源代码。配置后,Cargo 将使用此目录而不是查看 crates.io。
请注意,cargo vendor
的输出(所有配置都应在 stdout 上,而其他消息则在 stderr 上),因此您还可以这样做
$ cargo vendor > .cargo/config
来同时部署和初始化您的配置!
标志 --no-merge-sources
如果 vendored Cargo 项目使用了 [replace]
部分,则可能会发生 vendoring 操作失败的情况,例如出现以下错误
found duplicate version of package `libc v0.2.43` vendored from two sources:
...
--no-merge-sources
标志应该可以解决这个问题。请确保直接从标准输出获取 .cargo/config
文件,因为配置变得更加复杂和不可预测。
示例
$ cargo vendor --no-merge-sources > .cargo/config
许可证
本项目采用以下任一许可证
- Apache许可证,版本2.0,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 https://open-source.org.cn/licenses/MIT)
任你选择。
贡献
除非你明确声明,否则根据Apache-2.0许可证定义的,你提交的任何有意包含在cargo-vendor中的贡献,将按照上述方式双授权,不附加任何额外条款或条件。
依赖
~35–48MB
~1M SLoC