Skip to content

安装与验证 Rust 工具链 ​

1. 概述 ​

Rust 工具链(toolchain)由三个核心组件构成:

  • rustup:工具链安装器与版本管理器,负责安装、更新 Rust 及其组件,并管理 stable / beta / nightly 三个发布频道。
  • rustc:Rust 编译器,将 .rs 源文件编译为目标平台的机器码。
  • cargo:官方构建工具与包管理器,统一处理编译、依赖解析、测试与运行。

三者均安装于 ~/.cargo/bin 目录。日常开发中,开发者主要通过 cargo 间接调用其余组件。

2. 安装 ​

Rust 官方推荐的安装方式为 rustup。该方式的优势在于:安装过程跨平台一致,且后续的版本更新与卸载均由同一工具管理。

类 Unix 系统(macOS / Linux):

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

Windows 平台下载并运行 rustup-init.exe。

Rust 采用 6 周一个稳定版的发布节奏(release train model),因此定期执行 rustup update 可保持工具链为最新。安装的详细说明与 PATH 配置问题的排查,见官方安装页。

3. 验证安装 ​

安装完成后,开发者可通过以下命令确认工具链状态:

bash
rustc --version
# rustc 1.96.0 (ac68faa20 2026-05-25)

cargo --version
# cargo 1.96.0 (30a34c682 2026-05-25)

rustup check
# 列出已安装的工具链及其是否为最新版本

若任一命令提示 command not found,通常表明 ~/.cargo/bin 未被加入 PATH 环境变量;重启终端或重新登录后重试。

4. 编译并运行第一个程序 ​

本仓库的 exercises/ 目录为一个 cargo workspace。其中 exercises/0001-playground 为配套的练习 crate,其入口源码如下:

rust
fn main() {
    println!("Hello, world!");
}

其中 fn main() 是程序的入口函数(entry point):可执行文件被运行时,执行从 main 开始。每个 binary crate 有且只有一个 main,没有它程序就无法启动。本例中 main 的全部工作,就是执行 println! 向终端输出一行 Hello, world!。

4.1 手动编译:rustc ​

在 crate 目录下直接调用 rustc,将源文件编译为可执行文件:

bash
cd exercises/0001-playground
rustc src/main.rs
./main
# Hello, world!

rustc 读取 src/main.rs,在当前目录生成同名的可执行文件 main;运行该文件,程序即从 main 函数开始执行。

该方式仅适用于单文件程序。真实项目的源码通常拆分为多个文件,需要引入第三方依赖(涉及下载与版本解析),并包含测试;这些环节逐一手动执行并不现实。

4.2 自动化:cargo ​

cargo 在上述过程之上提供自动化:编译、链接、运行由一条命令完成,依赖与测试亦由其管理。package 的名称与元信息定义于 crate 目录下的 Cargo.toml:

toml
[package]
name = "lesson_0001"
version = "0.1.0"
edition.workspace = true

[dependencies]

回到仓库根目录执行:

bash
cd exercises
cargo run -p lesson_0001
# Hello, world!

cargo run 等价于手动方式中的编译与运行两个步骤,产物统一存放于 target/ 目录。-p 后的名称即上述 name 字段,与目录名无关。

本课程的后续练习均为 exercises/ 下的独立 crate,通过 cargo test -p <crate名> 运行测试。

5. 更新与卸载 ​

bash
rustup update          # 更新工具链至最新稳定版
rustup self uninstall  # 完全卸载 Rust 及 rustup

参考 ​