5 个版本 (3 个重大更新)
0.4.0 | 2024年7月25日 |
---|---|
0.3.1 | 2024年6月17日 |
0.3.0 | 2024年5月2日 |
0.2.0 | 2024年3月21日 |
0.1.0 | 2023年12月18日 |
#365 在 解析器实现
每月48,194 次下载
用于 32 个crate (直接使用7个)
110KB
2.5K SLoC
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 上 Homebrew 的openssl
包中获取。如果使用
vendored-openssl
Cargo 功能,则会从源代码构建 OpenSSL 的静态副本,而不是使用系统 OpenSSL。这可能需要额外的工具,如perl
和make
。在 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-APACHE 和 LICENSE-MIT。
第三方软件
此产品包含 OpenSSL 项目为在 OpenSSL 工具包中使用而开发的软件(https://www.openssl.org/)。
在二进制形式中,此产品包含根据 GNU 通用公共许可证(版本 2)的条款许可的软件,包括链接例外条款,可以从 上游存储库 获取。
请参阅LICENSE-THIRD-PARTY以获取详细信息。
lib.rs
:
低级Cargo格式模式
这些类型主要关注serde
和FromStr
,用于读取文件和解析命令行。从这些类型中获取最终语义的逻辑可能需要其他工具进行处理,例如cargo metadata
。
依赖关系
~2.1–3MB
~87K SLoC