18个版本

0.2.13 2024年7月25日
0.2.11 2024年5月2日
0.2.10 2024年3月21日
0.2.8 2023年12月28日
0.0.0 2021年3月20日

#21 in 文件系统

Download history 26568/week @ 2024-05-04 24542/week @ 2024-05-11 24092/week @ 2024-05-18 22158/week @ 2024-05-25 23811/week @ 2024-06-01 22584/week @ 2024-06-08 23491/week @ 2024-06-15 22136/week @ 2024-06-22 22521/week @ 2024-06-29 21789/week @ 2024-07-06 23462/week @ 2024-07-13 25642/week @ 2024-07-20 27911/week @ 2024-07-27 25926/week @ 2024-08-03 27114/week @ 2024-08-10 25430/week @ 2024-08-17

每月110,680次下载
115个crates中(31个直接)使用

MIT/Apache

84KB
1.5K 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需要以下工具和包来构建

其他要求

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

  • 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找到,则将使用系统库。

建议使用供应商版本,因为它们是与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


lib.rs:

Cargo使用的杂项支持代码。

依赖关系

~6–20MB
~248K SLoC