文章目录

Rust 包管理:Cargo.toml 与依赖

发布于 2026-04-12 01:19:18 · 浏览 10 次 · 评论 0 条

Rust 包管理:Cargo.toml 与依赖

Cargo 是 Rust 的官方构建系统和包管理器。它集成了代码编译、依赖下载和项目管理的功能,类似于 Node.js 中的 npm 工具。通过 Cargo,开发者可以轻松地构建、管理和分发 Rust 代码。

打开终端或命令行工具。输入以下命令创建一个新的 Rust 项目:

cargo new my_project

切换到生成的 my_project 目录。观察目录结构,你会看到两个主要部分:Cargo.toml 文件和 src 文件夹。src 文件夹内包含默认的入口文件 main.rs,这是编写应用代码的地方。


Cargo.toml 是 Cargo 的核心配置文件,采用 TOML (Tom's Obvious, Minimal Language) 格式。打开该文件,其初始结构如下:

[package]
name = "my_project"
version = "0.1.0"
edition = "2021"

[dependencies]

文件主要分为两个部分:

  • [package]:定义项目的元数据,包括项目名称 (name)、版本 (version) 和使用的 Rust 版本 (edition)。
  • [dependencies]:用于声明项目所需的外部依赖库(在 Rust 中称为 crates)。

在 Rust 生态系统中,库被称为 crates。访问 crates.io 搜索需要的库。假设项目需要随机数功能,找到 rand 库后,编辑 Cargo.toml 文件,在 [dependencies] 下方添加依赖项:

[dependencies]
rand = "0.8"

保存文件后,在终端中执行构建命令:

cargo build

Cargo 会自动解析依赖,从 crates.io 下载指定版本的库及其依赖,并进行编译。构建完成后,项目目录下会新增一个 Cargo.lock 文件。该文件记录了当前项目实际使用的所有依赖库的精确版本号,确保在不同环境中构建结果的一致性。


Cargo 提供了多种命令来控制项目的构建和运行流程。

运行以下命令来编译并执行项目:

cargo run

该命令会自动检查代码是否需要重新编译。如果需要,先进行编译,然后直接运行生成的可执行文件。

如果在开发过程中只想快速检查代码是否能通过编译,而不需要生成可执行文件,使用检查命令:

cargo check

该命令跳过了生成二进制文件的步骤,速度通常比完整编译快得多,适合在开发循环中频繁使用。

当项目准备发布时,执行优化构建命令:

cargo build --release

此命令会对代码进行深度优化,生成的可执行文件运行速度更快,但编译时间会相应增加。优化后的产物将输出到 target/release 目录下,而普通的调试版本位于 target/debug 目录。


对于大型项目,Cargo 支持工作空间(Workspace)功能,允许在一个顶级配置下管理多个相关的包。创建一个顶级 Cargo.toml 文件,并定义 [workspace] 节:

[workspace]
members = [
    "utils",
    "service",
    "cli",
]

members 列表包含了子项目的路径。每个子项目都有自己的 Cargo.toml,但它们共享同一个依赖锁定文件和输出目录 target。在顶级目录执行 cargo buildcargo test 时,Cargo 会遍历并构建工作空间内的所有成员。


Cargo 内置了测试框架和文档生成工具。

编写测试代码时,通常在 src 目录下创建以 _test.rs 结尾的文件,或在源码中添加标记了 #[test] 属性的函数。运行以下命令执行测试:

cargo test

为了生成项目文档,使用文档生成命令:

cargo doc

该命令会解析代码中的文档注释,生成 HTML 格式的文档并保存在 target/doc 目录下。若要在生成后自动在浏览器中打开文档,执行

cargo doc --open

评论 (0)

暂无评论,快来抢沙发吧!

扫一扫,手机查看

扫描上方二维码,在手机上查看本文