1个不稳定版本
0.1.0 | 2021年4月23日 |
---|
#1974 in 开发工具
2KB
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
头文件/库。在某些情况下可能不需要,例如使用供应商的OpenSSL或在Windows上。 -
OpenSSL — 仅在类Unix系统上需要,并且当不使用
vendored-openssl
Cargo功能时。这需要开发头文件,可以从Ubuntu上的
libssl-dev
包或macOS上的openssl-devel
(使用apk或yum)或Homebrew上的openssl
包获取。如果使用
vendored-openssl
Cargo功能,则将从源代码构建OpenSSL的静态副本,而不是使用系统OpenSSL。这可能需要额外的工具,例如perl
和make
。在macOS上,将检查Homebrew、MacPorts或pkgsrc的常见安装目录。否则将回退到
pkg-config
。在Windows上,将使用系统提供的Schannel。
也支持LibreSSL。
可选的系统库
构建将自动使用以下库的供应商版本。但是,如果它们由系统提供并且可以通过pkg-config
找到,则将使用系统库。
libcurl
— 用于网络传输。libgit2
— 用于获取 git 依赖。libssh2
— 用于访问 git 仓库的 SSH。libz
(又称 zlib) — 用于数据压缩。
建议使用 vendored 版本,因为它们是与 Cargo 一起测试过的版本。
编译
首先,您需要检出此仓库
git clone https://github.com/rust-lang/cargo.git
cd cargo
在已安装 cargo
的情况下,您可以简单地运行
cargo build --release
为 Cargo 添加新子命令
Cargo 被设计为可以通过新的子命令进行扩展,而不必修改 Cargo 本身。有关更多详细信息以及已知社区开发的子命令列表,请参阅 Wiki 页面。
版本发布
Cargo 的发布与 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。