首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Cargo:Rust 的构建系统和包管理器

Cargo:Rust 的构建系统和包管理器

作者头像
徐建国
发布2025-11-29 14:33:49
发布2025-11-29 14:33:49
1820
举报
文章被收录于专栏:个人路线个人路线

Cargo:Rust 的构建系统和包管理器

Cargo 是 Rust 的构建系统和包管理器,是 Rust 开发生态系统的核心工具。绝大多数 Rust 开发者(Rustacean)都使用 Cargo 来管理项目,因为它可以自动处理许多复杂的任务。

Rust 入门:Hello World 程序

Rust 安装指南(Mac)

Cargo 的核心功能

Cargo 主要负责以下任务:

  • • 🔨 构建代码:编译 Rust 源代码
  • • 📦 依赖管理:下载和管理第三方库(称为 依赖
  • • 🚀 项目管理:创建和组织项目结构
  • • 🧪 测试运行:执行单元测试和集成测试
  • • 📖 文档生成:生成项目文档

检查 Cargo 安装

由于 Cargo 随 Rust 一起安装,你可以通过以下命令检查是否正确安装:

代码语言:javascript
复制
cargo --version

预期输出示例:

代码语言:javascript
复制
cargo 1.90.0 (840b83a10 2025-07-30)

如果看到版本号,说明 Cargo 已正确安装!如果出现 command not found 错误,请参考 Rust 安装文档重新安装。

使用 Cargo 创建项目

让我们使用 Cargo 创建一个新项目,看看它与之前手动创建的 "Hello, world!" 项目有什么不同。

创建新项目

在任何操作系统上,都可以使用以下命令:

代码语言:javascript
复制
cargo new hello_cargo
cd hello_cargo

这个命令会:

  • • 创建名为 hello_cargo 的新目录
  • • 在该目录中初始化一个完整的 Rust 项目
  • • 自动设置 Git 版本控制(如果不在已有的 Git 仓库中)

项目结构

Cargo 会生成以下项目结构:

代码语言:javascript
复制
hello_cargo/
├── Cargo.toml          # 项目配置文件
├── .gitignore          # Git 忽略文件
├── .git/               # Git 仓库(如果适用)
└── src/
    └── main.rs         # 源代码文件

Cargo.toml 配置文件

Cargo.toml 是项目的核心配置文件:

代码语言:javascript
复制
[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 程序:

代码语言:javascript
复制
fn main() {
    println!("Hello, world!");
}

Cargo 项目的优势

与手动创建的项目相比,Cargo 项目具有以下优势:

  • • 📁 标准化结构:所有源代码放在 src/ 目录
  • • ⚙️ 配置管理:使用 Cargo.toml 统一管理项目配置
  • • 🔄 版本控制:自动初始化 Git 仓库
  • • 🧹 项目整洁:根目录只放置配置文件和文档

转换现有项目

如果你有一个非 Cargo 项目(如之前的 Hello World),可以轻松转换:

  1. 1. 将源代码移动到 src/ 目录
  2. 2. 运行 cargo init 自动生成 Cargo.toml
代码语言:javascript
复制
# 在现有项目目录中
cargo init

构建和运行 Cargo 项目

现在让我们学习如何使用 Cargo 构建和运行项目。Cargo 提供了多个命令来满足不同的开发需求。

cargo build - 构建项目

在项目目录中运行构建命令:

代码语言:javascript
复制
cd hello_cargo
cargo build

输出示例:

代码语言:javascript
复制
   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/ 目录中

运行构建的程序

代码语言:javascript
复制
# Linux/macOS
./target/debug/hello_cargo

# Windows
.\target\debug\hello_cargo.exe

输出:

代码语言:javascript
复制
Hello, world!

cargo run - 一键构建并运行

cargo run 命令将构建和运行合并为一步:

代码语言:javascript
复制
cargo run

输出示例:

代码语言:javascript
复制
    Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
     Running `target/debug/hello_cargo`
Hello, world!

智能构建:

  • • 如果代码未修改,直接运行现有的可执行文件
  • • 如果代码已修改,先重新构建再运行

cargo check - 快速检查

cargo check 只检查代码是否能够编译,不生成可执行文件:

代码语言:javascript
复制
cargo check

输出示例:

代码语言:javascript
复制
   Checking hello_cargo v0.1.0 (file:///projects/hello_cargo)
    Finished dev [unoptimized + debuginfo] target(s) in 0.32 secs

使用场景:

  • • 开发过程中快速验证代码正确性
  • • 比 cargo build 速度更快
  • • 适合频繁的代码检查

Cargo 命令总结

命令

功能

使用场景

cargo new <项目名>

创建新项目

开始新项目

cargo build

构建项目

生成可执行文件

cargo run

构建并运行

开发和测试

cargo check

快速检查语法

开发过程中验证

cargo init

初始化现有目录

转换现有项目

跨平台优势

Cargo 的一个重要优势是跨平台一致性:无论在 Linux、macOS 还是 Windows 上,命令都完全相同。这大大简化了开发和协作流程。

发布构建

cargo build --release

当项目准备发布时,使用优化构建:

代码语言:javascript
复制
cargo build --release

发布构建特点:

构建类型

目录

优化

编译时间

运行速度

Debug

target/debug/

Release

target/release/

使用建议:

  • • 开发阶段:使用 debug 构建,编译快,便于调试
  • • 性能测试:使用 release 构建,获得真实的性能数据
  • • 最终发布:使用 release 构建,提供最佳用户体验

Cargo 的价值

简单项目 vs 复杂项目

虽然对于简单的 Hello World 项目,Cargo 可能看起来"大材小用",但它的真正价值在于:

  • • 📈 可扩展性:项目复杂度增加时,Cargo 的优势逐渐显现
  • • 🔗 依赖管理:自动处理第三方库的下载、编译和版本管理
  • • 🏗️ 构建优化:智能的增量编译和缓存机制
  • • 🤝 团队协作:标准化的项目结构和构建流程

实际工作流程

在实际开发中,通常的工作流程是:

代码语言:javascript
复制
# 1. 克隆项目
git clone https://github.com/user/rust-project.git
cd rust-project

# 2. 构建项目
cargo build

# 3. 运行项目
cargo run

# 4. 开发过程中持续检查
cargo check

进一步学习

想要深入了解 Cargo 的更多功能,请查阅:

  • • 📖 Cargo 官方文档
  • • 🔧 依赖管理和版本控制
  • • 🧪 测试框架集成
  • • 📦 包发布到 crates.io

总结

通过学习 Cargo,你已经掌握了:

  1. 1. ✅ 项目创建:使用 cargo new 创建标准化项目
  2. 2. ✅ 构建管理:理解 debug 和 release 构建的区别
  3. 3. ✅ 开发工具:熟悉 buildruncheck 命令
  4. 4. ✅ 项目结构:了解 Cargo 项目的标准布局
  5. 5. ✅ 配置文件:掌握 Cargo.toml 的基本配置

现在你已经具备了使用 Rust 和 Cargo 开发项目的基础知识!是时候开始构建更有趣的程序了!🚀

GitCode

国内领先的代码托管平台:https://gitcode.com/

欢迎大家在GitCode平台畅游,学习Rust

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-09-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大前端之旅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Cargo:Rust 的构建系统和包管理器
    • Cargo 的核心功能
    • 检查 Cargo 安装
    • 使用 Cargo 创建项目
      • 创建新项目
      • 项目结构
      • Cargo.toml 配置文件
      • 源代码文件
      • Cargo 项目的优势
      • 转换现有项目
    • 构建和运行 Cargo 项目
      • cargo build - 构建项目
      • 运行构建的程序
      • cargo run - 一键构建并运行
      • cargo check - 快速检查
    • Cargo 命令总结
      • 跨平台优势
    • 发布构建
      • cargo build --release
    • Cargo 的价值
      • 简单项目 vs 复杂项目
      • 实际工作流程
    • 进一步学习
    • 总结
    • GitCode
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档