Skip to content

安装并创建项目

工具链概念

安装 Rust 实际上是安装一套工具链,包含三个核心组件:

组件作用
rustup工具链管理器,负责安装/更新/切换 Rust 版本
rustcRust 编译器,将 .rs 源代码编译成可执行文件
cargo构建工具 + 包管理器,日常开发几乎只和它打交道

实际开发中你几乎不会直接调用 rustc,而是通过 cargo 来管理整个项目的编译、依赖和测试。

安装

Linux / macOS:

bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Windows:

  1. 前往 https://rustup.rs/ 下载并运行安装程序
  2. 安装完成后在终端执行 rustc --version 验证安装成功

VSCode 扩展(推荐安装):

  • rust-analyzer:提供代码补全、类型推断、错误提示等功能,是 Rust 开发的必备扩展

VsCode 快捷输入技巧

创建项目

bash
cargo new hello_rust   # 创建二进制项目(可执行程序)
cargo new mylib --lib  # 创建库项目

执行 cargo new hello_rust 后会生成以下结构:

hello_rust/
├── Cargo.toml    # 项目配置文件(类似 package.json)
└── src/
    └── main.rs   # 程序入口

Cargo.toml

toml
[package]
name = "hello_rust"    # 项目名
version = "0.1.0"      # 版本号
edition = "2024"       # Rust 版本

[dependencies]
# 在这里添加依赖
rust
fn main() {
    // 打印 "Hello, world!" 到控制台
    println!("Hello, world!");
}
  1. edition 表示使用的 Rust 语法版本,目前是 2024
  2. 添加依赖推荐使用 cargo add <crate-name> 命令,会自动写入此文件

cargo 常用命令

构建与运行

命令说明
cargo run / cargo r编译并运行(Debug 模式)
cargo run --release编译并运行(Release 模式,开启优化)
cargo build仅编译,不运行
cargo build --release编译 Release 版本
cargo check只做语法检查,不生成可执行文件,速度更快

Debug 和 Release 的区别:

  • Debug:编译快,包含调试信息,运行慢;开发阶段默认使用
  • Release:编译慢,开启优化,运行快;发布时使用

开发时用 cargo run,发布时用 cargo build --release

依赖管理

命令说明
cargo add <crate-name>添加依赖(自动写入 Cargo.toml,推荐使用)
cargo update更新所有依赖到最新兼容版本
cargo tree查看依赖树,排查依赖冲突

代码质量

命令说明
cargo fmt格式化代码(使用官方 rustfmt)
cargo clippyLint 检查,给出代码质量建议(比编译器提示更丰富)
cargo doc --open生成并在浏览器中打开项目文档

其他

命令说明
cargo test运行单元测试
cargo clean清理构建产物(删除 target/ 目录)
cargo publish发布到 crates.io
cargo --help查看帮助信息

rustup 工具链管理

bash
rustup update                             # 更新到最新稳定版
rustup show                               # 查看已安装的工具链
rustup toolchain install nightly          # 安装 nightly 版本
rustup target add wasm32-unknown-unknown  # 添加编译目标(如 WebAssembly)

cargo test 进阶

cargo test 命令的参数分为两部分,由 -- 分隔:

cargo test [Cargo参数] -- [测试程序参数]
  • -- 左边的参数由 Cargo 处理(控制编译行为)
  • -- 右边的参数由测试程序本身处理(控制运行行为)

常用命令对比

命令说明
cargo test --lib仅运行库测试
cargo test -- --nocapture显示测试中的 print! 输出
cargo test -- --test-threads=1单线程运行测试(避免并发干扰)
cargo test --release -- --nocaptureRelease 模式下运行并显示输出

基于 MIT 协议发布