77 个重大版本

0.81.0 2024 年 7 月 25 日
0.79.0 2024 年 5 月 2 日
0.78.1 2024 年 3 月 28 日
0.76.0 2023 年 12 月 28 日
0.4.0 2015 年 7 月 24 日

#20构建工具

Download history 23296/week @ 2024-05-03 21914/week @ 2024-05-10 20257/week @ 2024-05-17 19219/week @ 2024-05-24 21152/week @ 2024-05-31 19577/week @ 2024-06-07 19947/week @ 2024-06-14 19246/week @ 2024-06-21 19402/week @ 2024-06-28 18167/week @ 2024-07-05 20613/week @ 2024-07-12 20664/week @ 2024-07-19 22490/week @ 2024-07-26 19593/week @ 2024-08-02 21789/week @ 2024-08-09 19578/week @ 2024-08-16

每月下载量 87,235
136 遗留库(121 个直接)中使用

MIT/Apache

3.5MB
71K SLoC

Cargo

Cargo 下载你的 Rust 项目依赖项并编译你的项目。

要开始使用 Cargo,请访问 Cargo 书籍 了解更多。

要开始开发 Cargo 本身,请阅读 Cargo 贡献者指南

代码状态

CI

代码文档: https://doc.rust-lang.net.cn/nightly/nightly-rustc/cargo/

安装 Cargo

Cargo 默认与 Rust 一起分发,所以如果你已经本地安装了 rustc,你很可能也已经本地安装了 cargo

从源码编译

要求

Cargo 需要以下工具和软件包来构建

  • cargorustc
  • 适用于您平台的 C 编译器 链接
  • git (用于克隆此存储库)

其他要求

以下内容根据您的平台和需求可能为可选。

  • pkg-config — 这用于帮助定位系统包,例如 libssl 的头文件/库。在某些情况下可能不需要,例如使用供应商的 OpenSSL 或在 Windows 上。

  • OpenSSL — 仅在类 Unix 系统上需要,并且不使用 vendored-openssl Cargo 功能。

    这需要开发头文件,可以从 Ubuntu 上的 libssl-dev 包、apk 或 yum 上的 openssl-devel 或 macOS 上的 Homebrew 的 openssl 包中获取。

    如果使用 vendored-openssl Cargo 功能,则将从源代码构建 OpenSSL 的静态副本,而不是使用系统 OpenSSL。这可能需要额外的工具,如 perlmake

    在 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 发布说明的一部分查看,详细发布说明可在本存储库的 CHANGELOG.md 中找到。

报告问题

发现了一个错误?我们很高兴了解它!

请在 GitHub 问题跟踪器 上报告所有问题。

贡献

请参阅 Cargo 贡献指南 以了解如何完整介绍向 Cargo 贡献。

许可协议

Cargo 主要根据 MIT 许可协议和 Apache 许可协议(版本 2.0)进行分发。

有关详细信息,请参阅 LICENSE-APACHELICENSE-MIT

第三方软件

本产品包含 OpenSSL 项目为在 OpenSSL 工具包中使用而开发的软件(https://www.openssl.org/)。

在二进制形式中,本产品包含根据 GNU 通用公共许可证(版本 2)的条款许可的软件,带有链接例外条款,可以从 上游存储库 获取。

请参阅LICENSE-THIRD-PARTY获取详细信息。

依赖项

~83MB
~1.5M SLoC