Cargo - Rust 包管理器 #
什么是 Cargo? #
Cargo 是 Rust 的官方包管理器和构建系统,由 Rust 团队开发维护。它集成了项目管理、依赖管理、编译构建、测试运行、文档生成、包发布等功能于一体,是 Rust 开发不可或缺的核心工具。
核心功能 #
| 功能 | 描述 |
|---|---|
| 项目管理 | 创建、配置和管理 Rust 项目结构 |
| 依赖管理 | 声明、下载和管理外部依赖包 |
| 构建系统 | 编译代码、管理编译选项和目标平台 |
| 测试框架 | 运行单元测试、集成测试和文档测试 |
| 文档生成 | 自动生成和托管项目文档 |
| 包发布 | 将包发布到 crates.io 仓库 |
文档结构 #
本指南按以下结构组织,适合初学者循序渐进学习:
第一阶段:基础入门 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| Cargo 简介 | Cargo 的历史、特点、核心概念 | intro.md |
| 安装与配置 | 安装 Cargo、环境配置、镜像源设置 | installation.md |
| 基本命令 | 常用命令详解:new、build、run、check | basic-commands.md |
| Cargo.toml 详解 | 项目配置文件完整解析 | cargo-toml.md |
第二阶段:核心功能 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 依赖管理 | 添加、更新、管理项目依赖 | dependencies.md |
| 工作区 | Monorepo 多包项目管理 | workspaces.md |
| 测试 | 单元测试、集成测试、文档测试 | testing.md |
| 发布包 | 发布到 crates.io 的完整流程 | publishing.md |
第三阶段:进阶与最佳实践 #
| 主题 | 描述 | 文档链接 |
|---|---|---|
| 高级特性 | 特性标志、构建脚本、条件编译 | advanced.md |
| 最佳实践 | 项目组织、依赖策略、性能优化 | best-practices.md |
快速开始 #
创建新项目 #
bash
# 创建二进制项目
cargo new my_project
# 创建库项目
cargo new my_lib --lib
# 进入项目目录
cd my_project
项目结构 #
text
my_project/
├── Cargo.toml # 项目配置文件
├── Cargo.lock # 依赖锁定文件(自动生成)
├── src/
│ └── main.rs # 程序入口
└── target/ # 编译输出目录(自动生成)
基本命令 #
bash
# 编译项目
cargo build
# 运行项目
cargo run
# 检查代码(快速)
cargo check
# 运行测试
cargo test
# 生成文档
cargo doc
# 发布编译(优化)
cargo build --release
为什么选择 Cargo? #
相比其他语言的包管理器 #
| 特性 | Cargo (Rust) | npm (Node.js) | pip (Python) |
|---|---|---|---|
| 构建系统集成 | ✅ 内置 | ❌ 需要额外工具 | ❌ 需要额外工具 |
| 锁定文件 | ✅ Cargo.lock | ✅ package-lock.json | ❌ 无(需 pipenv) |
| 测试框架 | ✅ 内置 | ❌ 需要额外工具 | ❌ 需要额外工具 |
| 文档生成 | ✅ 内置 | ❌ 需要额外工具 | ❌ 需要额外工具 |
| 安全审计 | ✅ 内置 | ✅ npm audit | ❌ 需要额外工具 |
Cargo 的优势 #
- 一体化体验:无需配置复杂的构建工具链
- 确定性构建:Cargo.lock 确保团队构建一致
- 丰富的生态系统:crates.io 拥有超过 10 万个包
- 优秀的性能:增量编译、并行构建
- 安全可靠:内置安全审计、依赖验证
学习路径建议 #
text
入门阶段
├── 阅读 Cargo 简介 → 了解基本概念
├── 完成安装配置 → 搭建开发环境
├── 学习基本命令 → 掌握日常操作
└── 理解 Cargo.toml → 学会项目配置
进阶阶段
├── 掌握依赖管理 → 管理项目依赖
├── 学习工作区 → 管理多包项目
├── 编写测试 → 保证代码质量
└── 发布包 → 分享你的代码
高级阶段
├── 使用高级特性 → 定制构建流程
└── 遵循最佳实践 → 提升开发效率
常用资源 #
- 官方文档
- crates.io - Rust 包仓库
- Cargo 指南
- Rust by Example
开始学习 #
准备好开始了吗?从 Cargo 简介 开始你的 Cargo 学习之旅!
最后更新:2026-03-28