理解 Rust 包管理器 Cargo
2024 年 10 月 11 日
使用 Rust 时,你很快就会遇到 Cargo。Cargo 是 Rust 强大的包管理器,可以简化构建、测试和依赖管理等任务,是 Rust 开发者不可或缺的工具。本文会介绍 Cargo 的功能,并展示它如何帮助你高效管理 Rust 项目。
“优秀软件的作用,是让复杂的东西看起来简单。” —— Grady Booch
什么是 Cargo?
Cargo 是 Rust 官方的包管理器和构建工具,旨在帮助开发者有效管理 Rust 项目。Cargo 可以自动完成多种任务,包括管理依赖(Rust 中称为 crate)、构建和测试代码,以及把包发布到 Rust 官方包注册表 crates.io。
使用 Cargo 创建新项目
要使用 Cargo 创建新的 Rust 项目,打开终端或命令行,进入你希望创建项目的目录,然后运行下面的命令:
cargo new my_project
将 my_project 替换为你想要的项目名称。这个命令会创建一个与项目同名的新目录,其中包含开始构建 Rust 应用所需的基础文件。
Cargo.toml 文件
每个 Cargo 项目的根目录都有一个 Cargo.toml 文件。这个文件也被称为“清单”,用于定义项目元数据、依赖和构建设置。下面是一个简单的 Cargo.toml 示例:
[package]
name = "my_project"
version = "0.1.0"
edition = "2024"
[dependencies]
rand = "0.8.5"
在这个例子中,我们指定了项目名称、版本和 Rust edition,同时声明项目依赖 rand crate 的 0.8.5 版本。
添加依赖
要给项目添加依赖,可以在 crates.io 上找到对应 crate,并把依赖行复制到 Cargo.toml 文件的 [dependencies] 部分。例如,要添加 serde crate,可以加入下面这一行:
serde = "1.0.130"
添加新依赖后,运行 cargo build 或 cargo run,Cargo 会自动下载并编译该 crate,让它可以在项目中使用。
构建并运行项目
要构建 Rust 项目,进入项目根目录,也就是包含 Cargo.toml 的目录,然后执行下面的命令:
cargo build
这个命令会编译 Rust 代码,并在 target/debug/ 目录中生成可执行二进制文件。
要运行项目,可以使用下面的命令:
cargo run
Cargo 会在需要时先构建项目,然后运行生成的二进制文件。
测试项目
Cargo 也简化了 Rust 代码测试。要运行项目中的全部测试,执行:
cargo test
Cargo 会以测试模式编译项目并运行所有测试,然后输出测试结果摘要。
总结
Cargo 是 Rust 开发者的核心工具。它自动化了许多任务,让 Rust 项目更容易构建、测试和管理。理解 Cargo 的功能后,你就能更高效地开发、测试和维护 Rust 应用。