安装 Rust 并运行第一个程序

使用 rustup 安装工具链、验证 rustc/cargo、创建项目并运行第一个程序,建立可重复的本地开发基线。

#type / howto #status / growing #tech / dev #resource / rust

[!info] 关联笔记

安装 Rust 并运行第一个程序

这个概念为什么出现

学语法之前,必须先有一条可验证的工具链路径

  • rustc / cargo / rustup 在 PATH 中
  • 版本与默认工具链可知
  • cargo new 创建项目
  • cargo run / cargo test / cargo check

否则后续所有“报错”都分不清是代码问题还是环境问题。本篇是 howto:目标不是讲完语言,而是装好、跑通、知道坏了怎么查

[!abstract] 一句话理解 用官方 rustup 安装稳定工具链 → 用 rustc -V/cargo -V/rustup show 验收 → cargo new 建项目 → cargo run 证明环境可用。

目标

完成后应满足:

  1. rustc --versioncargo --version 输出稳定版工具链
  2. rustup show 能看到 default toolchain
  3. 新建二进制项目 cargo run 打印预期输出
  4. cargo test 在默认模板上可成功退出
  5. 能区分“环境坏了”与“代码错了”

最小可运行示例

场景:新同事第一天要在笔记本上跑通订单服务脚手架

不必接数据库。先证明:本机能编译、能跑、能测。
官方推荐用 rustup 安装,用 Cargo 管理项目,而不是手工东拼西凑编译器路径。

// src/main.rs —— cargo new hello_rust 默认会生成类似入口
// 业务意图:进程启动时打印就绪信息,证明二进制可执行。
// 教学点:二进制 crate 的入口是 main;cargo run 负责编译并执行。

fn main() {
    // 订单脚手架就绪日志(示例文案)
    println!("hello, Rust");
}

建议运行:

# 1) 安装(Linux/macOS 官方脚本;Windows 见 rustup 官网)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 按提示加载环境,例如:
# source "$HOME/.cargo/env"

# 2) 验收
rustc --version
cargo --version
rustup show

# 3) 创建并运行
cargo new hello_rust
cd hello_rust
cargo run
cargo test
cargo check

期望输出(cargo run 关键行):

hello, Rust

(具体模板文案以当前 cargo new 默认为准;可把 println! 改成上面字符串以对齐本笔记。)

结合场景再看三个关注点

  1. rustup 管工具链,cargo 管项目:装错成“只有某个 IDE 插件”会导致命令行不可复现。
  2. cargo check 快于完整链接:日常改代码先 check,再 run/test。
  3. 默认模板自带测试目录结构心智:先让 cargo test 绿,再加业务代码。

核心步骤与准确模型

1. 安装受支持版本

  • 首选:Install Rust 的 rustup
  • 组件默认通常包含:rustccargorust-std
  • 常用附加组件:rustfmtclippy(见 Clippy 与 rustfmt
rustup component add rustfmt clippy

2. 验收环境

命令你在确认什么
rustc --version编译器在 PATH
cargo --version构建工具在 PATH
rustup show默认工具链与已装 target
rustup update稳定通道可更新

3. 项目闭环

cargo new hello_rust
├── Cargo.toml    # 包清单
└── src/main.rs   # 二进制入口

常用命令:

命令作用
cargo run编译(debug)并运行
cargo build只构建
cargo build --release优化构建
cargo test跑测试
cargo check类型检查,不产最终产物(更快)

4. 排错心智

现象优先怀疑
command not found: cargoPATH / 未 source env / 安装未完成
rustc 不能 cargo残缺安装,回到 rustup
网络失败拉依赖代理/镜像/防火墙(crates.io)
编辑器红、命令行绿IDE 组件/工具链指向不一致

边界情况与反直觉行为

  • 系统包管理器的 rustc 可能过旧:学习与现代 edition 建议 rustup 主路径。
  • sudo 安装通常不推荐:用户级 rustup 更易管理多工具链。
  • 企业代理环境:需单独配置 ~/.cargo/config.toml 镜像或代理,本篇不展开具体内网策略。

常见误区

[!warning] 常见误区:只装 IDE 插件不装工具链 错误理解:装了编辑器扩展就能学 Rust。
正确模型:扩展依赖本机 rust-analyzer + 工具链。
为何易错:其他语言有时“插件自带 runtime”的错觉。

工程实践

  1. 固定团队默认:stable 工具链 + 约定 edition(如 2021/2024,以项目 Cargo.toml 为准)。
  2. CI 复现本地:同一 major 工具链,跑 fmt --checkclippytest
  3. 学会读 rustc 错误索引与 cargo 输出的文件:行号。

本节总结

  • 安装用 rustup,项目用 cargo。
  • 验收三件套:rustc / cargo / rustup show
  • 第一天目标是 run/test/check 闭环,不是背完语法。

自测题

概念题

  1. rustup 与 cargo 各解决什么问题?

操作题

  1. 如何验证 clippy 已安装?
参考答案
  1. rustup:工具链/组件/target;cargo:构建、依赖、测试、运行。
  2. rustup component list --installed | rg clippy 或直接 cargo clippy -V

延伸阅读与资料来源

资料类型支撑内容
Install Rust官方安装入口
rustup book官方工具链管理
Cargo Book官方项目与命令
The Book ch01官方书入门闭环
创建于 2026/7/15 更新于 2026/7/15