Cargo 是 Rust 的构建系统和包管理器,是 Rust 开发生态系统的核心工具。绝大多数 Rust 开发者(Rustacean)都使用 Cargo 来管理项目,因为它可以自动处理许多复杂的任务。
Cargo 主要负责以下任务:
由于 Cargo 随 Rust 一起安装,你可以通过以下命令检查是否正确安装:
cargo --version预期输出示例:
cargo 1.90.0 (840b83a10 2025-07-30)如果看到版本号,说明 Cargo 已正确安装!如果出现 command not found 错误,请参考 Rust 安装文档重新安装。
让我们使用 Cargo 创建一个新项目,看看它与之前手动创建的 "Hello, world!" 项目有什么不同。
在任何操作系统上,都可以使用以下命令:
cargo new hello_cargo
cd hello_cargo这个命令会:
hello_cargo 的新目录Cargo 会生成以下项目结构:
hello_cargo/
├── Cargo.toml # 项目配置文件
├── .gitignore # Git 忽略文件
├── .git/ # Git 仓库(如果适用)
└── src/
└── main.rs # 源代码文件Cargo.toml 是项目的核心配置文件:
[package]
name = "hello_cargo"
version = "0.1.0"
edition = "2024"
[dependencies]配置说明:
配置项 | 说明 |
|---|---|
[package] | 包信息区块 |
name | 项目名称 |
version | 项目版本(遵循语义化版本) |
edition | 使用的 Rust 版本 |
[dependencies] | 依赖包列表 |
💡 TOML 格式:Cargo 使用 TOML(Tom's Obvious, Minimal Language)格式,这是一种简单易读的配置文件格式。
src/main.rs 包含默认的 Hello World 程序:
fn main() {
println!("Hello, world!");
}与手动创建的项目相比,Cargo 项目具有以下优势:
src/ 目录Cargo.toml 统一管理项目配置如果你有一个非 Cargo 项目(如之前的 Hello World),可以轻松转换:
src/ 目录cargo init 自动生成 Cargo.toml# 在现有项目目录中
cargo init现在让我们学习如何使用 Cargo 构建和运行项目。Cargo 提供了多个命令来满足不同的开发需求。
在项目目录中运行构建命令:
cd hello_cargo
cargo build输出示例:
Compiling hello_cargo v0.1.0 (/Users/jianguo/Desktop/rust/rust/hello_cargo)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.65s构建结果:
target/debug/hello_cargo(Windows 上是 target\debug\hello_cargo.exe)Cargo.lock 文件:记录依赖的确切版本target/ 目录中# Linux/macOS
./target/debug/hello_cargo
# Windows
.\target\debug\hello_cargo.exe输出:
Hello, world!cargo run 命令将构建和运行合并为一步:
cargo run输出示例:
Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
Running `target/debug/hello_cargo`
Hello, world!智能构建:
cargo check 只检查代码是否能够编译,不生成可执行文件:
cargo check输出示例:
Checking hello_cargo v0.1.0 (file:///projects/hello_cargo)
Finished dev [unoptimized + debuginfo] target(s) in 0.32 secs使用场景:
cargo build 速度更快命令 | 功能 | 使用场景 |
|---|---|---|
cargo new <项目名> | 创建新项目 | 开始新项目 |
cargo build | 构建项目 | 生成可执行文件 |
cargo run | 构建并运行 | 开发和测试 |
cargo check | 快速检查语法 | 开发过程中验证 |
cargo init | 初始化现有目录 | 转换现有项目 |
Cargo 的一个重要优势是跨平台一致性:无论在 Linux、macOS 还是 Windows 上,命令都完全相同。这大大简化了开发和协作流程。
当项目准备发布时,使用优化构建:
cargo build --release发布构建特点:
构建类型 | 目录 | 优化 | 编译时间 | 运行速度 |
|---|---|---|---|---|
Debug | target/debug/ | ❌ | 快 | 慢 |
Release | target/release/ | ✅ | 慢 | 快 |
使用建议:
虽然对于简单的 Hello World 项目,Cargo 可能看起来"大材小用",但它的真正价值在于:
在实际开发中,通常的工作流程是:
# 1. 克隆项目
git clone https://github.com/user/rust-project.git
cd rust-project
# 2. 构建项目
cargo build
# 3. 运行项目
cargo run
# 4. 开发过程中持续检查
cargo check想要深入了解 Cargo 的更多功能,请查阅:
通过学习 Cargo,你已经掌握了:
cargo new 创建标准化项目build、run、check 命令Cargo.toml 的基本配置现在你已经具备了使用 Rust 和 Cargo 开发项目的基础知识!是时候开始构建更有趣的程序了!🚀
国内领先的代码托管平台:https://gitcode.com/
欢迎大家在GitCode平台畅游,学习Rust