1 个不稳定版本
0.22.0 | 2019 年 1 月 3 日 |
---|
445 在 Cargo 插件 中
13KB
305 行
Cargo
Cargo 下载您的 Rust 项目的依赖项并编译您的项目。
要开始使用 Cargo,请在 Cargo 手册 中了解更多。
要开始开发 Cargo 本身,请阅读 Cargo 贡献者指南。
代码状态
代码文档: https://doc.rust-lang.net.cn/nightly/nightly-rustc/cargo/
安装 Cargo
Cargo 默认与 Rust 一起分发,所以如果您已安装本地 rustc
,则可能也已安装了 cargo
。
从源代码编译
需求
Cargo 需要以下工具和软件包来构建
cargo
和rustc
- 适用于您的平台的 C 编译器 (编译时需求)
git
(克隆此仓库)
其他需求
以下根据您的平台和需求可能是可选的。
-
pkg-config
— 这用于帮助定位系统包,如libssl
的头文件/库。在某些情况下可能不需要,例如使用 vendored OpenSSL 或在 Windows 上。 -
OpenSSL — 仅在类 Unix 系统上需要,并且如果未使用
vendored-openssl
Cargo 功能。这需要开发头文件,可以从Ubuntu的
libssl-dev
包或apk、yum或macOS上的Homebrew的openssl
包中获取。如果使用
vendored-openssl
Cargo特性,则会从源代码构建OpenSSL的静态副本,而不是使用系统OpenSSL。这可能需要额外的工具,如perl
和make
。在macOS上,将检查Homebrew、MacPorts或pkgsrc的常见安装目录。否则将回退到
pkg-config
。在Windows上,将使用系统提供的Schannel。
LibreSSL也受到支持。
可选系统库
构建将自动使用以下库的供应商版本。但是,如果它们由系统提供,并且可以通过pkg-config
找到,则将使用系统库。
libcurl
— 用于网络传输。libgit2
— 用于获取git依赖项。libssh2
— 用于SSH访问git存储库。libz
(即zlib)— 用于数据压缩。
建议使用供应商版本,因为它们是与Cargo一起测试过的工作版本。
编译
首先,您需要检出此存储库
git clone https://github.com/rust-lang/cargo.git
cd cargo
如果已经安装了cargo
,则可以简单地运行
cargo build --release
向Cargo添加新子命令
Cargo被设计为可以通过新子命令进行扩展,而无需修改Cargo本身。有关更多详细信息以及已知社区开发的子命令列表,请参阅Wiki页面。
版本发布
Cargo版本与Rust版本一致。高级版本说明作为Rust版本说明的一部分提供,可在Rust的版本说明中找到。详细的版本说明在CHANGELOG.md中提供。
报告问题
发现了一个错误?我们很乐意了解它!
请在GitHub 问题跟踪器上报告所有问题。
贡献
请参阅Cargo贡献指南,了解如何向Cargo贡献。
许可证
Cargo主要在MIT许可证和Apache许可证(版本2.0)的条款下分发。
有关详细信息,请参阅LICENSE-APACHE和LICENSE-MIT。
第三方软件
此产品包含OpenSSL项目为在OpenSSL工具包中使用而开发的软件(https://www.openssl.org/)。
在二进制形式中,此产品包含根据GNU通用公共许可证(版本2)的条款许可的软件,带有链接例外条款,可从上游存储库获取。
有关详细信息,请参阅LICENSE-THIRD-PARTY。
依赖关系
~9–18MB
~290K SLoC