---
title: "用 rustup 安装工具链并切换默认工具链 - Angryecho"
description: "准备工作 macOS/Linux 终端；网络可访问 rustup 安装源或你们内网镜像。 依据：rustup 官方文档（The rustup book）。[1] 核实日期：2026-10-24。"
canonical_url: "https://www.angryecho.com/c/Rustcai_keng/p/P2TBBja3lTn801wzkAuav"
meta:
  "og:description": "准备工作 macOS/Linux 终端；网络可访问 rustup 安装源或你们内网镜像。 依据：rustup 官方文档（The rustup book）。[1] 核实日期：2026-10-24。"
  "og:image": "https://www.angryecho.com/_og/d/c_Post%2Ctitle_~5ZCQ5qe9572R%2Cdescription_~5ZCQ5qe95LiA5LiL77yM5bCx5LiK5ZCQ5qe9572R44CC%2CpostId_P2TBBja3lTn801wzkAuav%2Crevision_~MjAyNi0xMC0yNVQwMjo1Nzo1MC4xODM3Nzla%2Cp_Ii9jL1J1c3RjYWlfa2VuZy9wL1AyVEJCamEzbFRuODAxd3prQXVhdiI%2Cs_cHZbsYZpotTqV19b.png"
  "og:image:height": "630"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": "用 rustup 安装工具链并切换默认工具链"
---

> Index of every page on this site: [llms.txt](https://www.angryecho.com/llms.txt)

# **用 rustup 安装工具链并切换默认工具链**

## 准备工作

- macOS/Linux 终端；网络可访问 rustup 安装源或你们内网镜像。
- 依据：rustup 官方文档（The rustup book）。\[1]
- 核实日期：2026-10-24。

## 操作步骤

### 1、安装 rustup

做什么：打开 https://rustup.rs/ ，按其当前页展示的安装命令执行；或使用发行版包装的 rustup 包。安装程序会写入 `rustc`/`cargo`/`rustup` 并提示配置 `PATH`。

为什么：rustup 是官方推荐的工具链管理器，可并行安装 stable/beta/nightly，并按目录覆盖默认通道，比“只装一个发行版包”更适合多项目。\[1]

怎么确认：新开终端后 `rustc --version`、`cargo --version`、`rustup --version` 均有输出；`rustup show` 能打印默认工具链与已安装组件。

### 2、设置默认工具链为 stable

做什么：

```bash
rustup default stable
rustup update
```

为什么：明确默认通道，避免新开终端落到过期 nightly；`update` 拉取该通道最新补丁。\[1]

怎么确认：`rustup show` 中 active/default 为 stable；`rustc -Vv` 的 release 字段匹配 stable。

### 3、按项目覆盖工具链（可选）

做什么：在需要 nightly 的项目目录执行：

```bash
rustup override set nightly
```

为什么：个别 crate 或示例依赖 nightly 特性，又不想把全局默认改成 nightly。目录覆盖只影响该路径及其子路径。\[1]

怎么确认：该目录下 `rustc -Vv` 显示 nightly；切到其他目录后仍是 stable；可用 `rustup override list` 查看覆盖表。

### 4、安装常用组件（可选）

做什么：`rustup component add clippy rustfmt`

为什么：格式化与静态检查是日常开发常见组件；通过 rustup 安装与工具链版本对齐。\[1]

怎么确认：`cargo fmt --version`、`cargo clippy -V` 有输出。

Rust 的发布通道（stable/beta/nightly）和“某一天的工具链快照”是两层概念。rustup 让你在同一台机器上并行保留多套，并按目录覆盖，这在跟进实验特性或给旧项目锁旧版本时很实用。

装好后先确认 IDE、终端、CI 用的是同一条 `rustc` 路径，否则会出现“命令行能编译、编辑器红线一片”的错觉。`which rustc` 与 IDE 设置里的 toolchain 路径对照一下，能省很多时间。

若公司有内部 crates 源，把镜像与 token 放在用户级配置，不要写进项目仓库。工具链可以共享，凭证必须按人、按机隔离。

第一次安装后若命令找不到，多半是当前 shell 还没加载 rustup 写入的 PATH；重开终端或按安装结束时的提示 `source` 环境脚本即可。

## 注意事项

- 企业网络若拦截 `curl | sh`，改用官方安装包、校验和或内部镜像。
- 不要把含 registry token 的环境脚本提交进 Git。
- 卸载或切换工具链前，先确认 IDE 使用的是哪一个 `rustc` 路径。

## 来源

> \[1] rustup book · https://rust-lang.github.io/rustup/ · 核实于 2026-10-24

#Rust #rustup #工具链 #教程 #cargo

排序方式 :

### **成为第一条评论！**

Nobody's responded to this post yet. Add your thoughts and get the conversation going.

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://www.angryecho.com/c/Rustcai_keng/p/P2TBBja3lTn801wzkAuav#post","@type":"DiscussionForumPosting","commentCount":0,"dateModified":"2026-10-25T02:57:50.183Z","datePublished":"2026-10-24T04:00:00.000Z","description":"准备工作 macOS/Linux 终端；网络可访问 rustup 安装源或你们内网镜像。 依据：rustup 官方文档（The rustup book）。[1] 核实日期：2026-10-24。","headline":"用 rustup 安装工具链并切换默认工具链","isPartOf":"https://www.angryecho.com/c/Rustcai_keng","mainEntityOfPage":"https://www.angryecho.com/c/Rustcai_keng/p/P2TBBja3lTn801wzkAuav","text":"准备工作\n\n\n\n\n\nmacOS/Linux 终端；网络可访问 rustup 安装源或你们内网镜像。\n\n\n\n依据：rustup 官方文档（The rustup book）。[1]\n\n\n\n核实日期：2026-10-24。\n\n操作步骤\n\n1、安装 rustup\n\n做什么：打开 https://rustup.rs/ ，按其当前页展示的安装命令执行；或使用发行版包装的 rustup 包。安装程序会写入 rustc/cargo/rustup 并提示配置 PATH。\n\n为什么：rustup 是官方推荐的工具链管理器，可并行安装 stable/beta/nightly，并按目录覆盖默认通道，比“只装一个发行版包”更适合多项目。[1]\n\n怎么确认：新开终端后 rustc --version、cargo --version、rustup --version 均有输出；rustup show 能打印默认工具链与已安装组件。\n\n2、设置默认工具链为 stable\n\n做什么：\n\nrustup default stable\nrustup update\n\n为什么：明确默认通道，避免新开终端落到过期 nightly；update 拉取该通道最新补丁。[1]\n\n怎么确认：rustup show 中 active/default 为 stable；rustc -Vv 的 release 字段匹配 stable。\n\n3、按项目覆盖工具链（可选）\n\n做什么：在需要 nightly 的项目目录执行：\n\nrustup override set nightly\n\n为什么：个别 crate 或示例依赖 nightly 特性，又不想把全局默认改成 nightly。目录覆盖只影响该路径及其子路径。[1]\n\n怎么确认：该目录下 rustc -Vv 显示 nightly；切到其他目录后仍是 stable；可用 rustup override list 查看覆盖表。\n\n4、安装常用组件（可选）\n\n做什么：rustup component add clippy rustfmt\n\n为什么：格式化与静态检查是日常开发常见组件；通过 rustup 安装与工具链版本对齐。[1]\n\n怎么确认：cargo fmt --version、cargo clippy -V 有输出。\n\nRust 的发布通道（stable/beta/nightly）和“某一天的工具链快照”是两层概念。rustup 让你在同一台机器上并行保留多套，并按目录覆盖，这在跟进实验特性或给旧项目锁旧版本时很实用。\n\n装好后先确认 IDE、终端、CI 用的是同一条 rustc 路径，否则会出现“命令行能编译、编辑器红线一片”的错觉。which rustc 与 IDE 设置里的 toolchain 路径对照一下，能省很多时间。\n\n若公司有内部 crates 源，把镜像与 token 放在用户级配置，不要写进项目仓库。工具链可以共享，凭证必须按人、按机隔离。\n\n第一次安装后若命令找不到，多半是当前 shell 还没加载 rustup 写入的 PATH；重开终端或按安装结束时的提示 source 环境脚本即可。\n\n注意事项\n\n\n\n\n\n企业网络若拦截 curl | sh，改用官方安装包、校验和或内部镜像。\n\n\n\n不要把含 registry token 的环境脚本提交进 Git。\n\n\n\n卸载或切换工具链前，先确认 IDE 使用的是哪一个 rustc 路径。\n\n来源\n\n\n\n[1] rustup book · https://rust-lang.github.io/rustup/ · 核实于 2026-10-24\n\n#Rust #rustup #工具链 #教程 #cargo","url":"https://www.angryecho.com/c/Rustcai_keng/p/P2TBBja3lTn801wzkAuav","author":{"@type":"Person","name":"UID:62933358","url":"https://www.angryecho.com/u/NGA62933358"},"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/LikeAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/DislikeAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/ShareAction","userInteractionCount":0}]}]}
```

## Sitemap

See the full [sitemap](https://www.angryecho.com/sitemap.md) for all pages.
