9 个版本
0.1.8 | 2024 年 3 月 21 日 |
---|---|
0.1.6 | 2023 年 12 月 28 日 |
0.1.5 | 2023 年 11 月 18 日 |
0.1.3 | 2023 年 7 月 13 日 |
0.1.0 | 2019 年 9 月 27 日 |
#11 in 构建工具
2,063,969 个月下载量
用于 2,030 个crate(16 直接使用)
19KB
463 行
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
软件包或 macOS 上 Homebrew 的openssl
软件包获取。如果使用
vendored-openssl
Cargo 功能,则会从源代码构建 OpenSSL 静态副本,而不是使用系统 OpenSSL。这可能需要额外的工具,如perl
和make
。在 macOS 上,将检查 Homebrew、MacPorts 或 pkgsrc 的常见安装目录。否则将回退到
pkg-config
。在 Windows 上,将使用系统提供的 Schannel。
LibreSSL 也受支持。
可选系统库
构建将自动使用以下库的 vendored 版本。但是,如果它们由系统提供并且可以通过 pkg-config
找到,则将使用系统库。
libcurl
— 用于网络传输。libgit2
— 用于获取 git 依赖项。libssh2
— 用于 SSH 访问 git 仓库。libz
(即 zlib)— 用于数据压缩。
建议使用 vendored 版本,因为它们是与 Cargo 测试过的版本。
编译
首先,您需要检出此仓库
git clone https://github.com/rust-lang/cargo.git
cd cargo
如果已安装 cargo
,则可以简单地运行
cargo build --release
向 Cargo 添加新子命令
Cargo 设计为可扩展,可以添加新子命令而无需修改 Cargo 本身。有关更多信息和已知社区开发的子命令列表,请参阅 维基页面。
版本发布
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。
lib.rs
:
Cargo使用的平台定义。
这定义了一个Platform
类型,用于Cargo指定目标平台。有两种类型,一种是命名的目标,如x86_64-apple-darwin
,另一种是“cfg表达式”,如cfg(any(target_os = "macos", target_os = "ios"))
。
有关如何匹配Platform的示例,请参阅examples/matches.rs
。
依赖关系
~110–340KB