Appearance
2026-09-19 · 学习笔记 01
Rust 环境安装
在 x64 Windows 上使用 Scoop 安装 Rust,工具链选择 MSVC,IDE 使用 RustRover。
1. 环境组成
| 组件 | 是什么 | 对应 Java 世界的 | 怎么装 |
|---|---|---|---|
| rustup | Rust 版本管理器,负责安装、更新和切换工具链 | 类似 nvm 之于 Node | scoop install rustup |
| 工具链(rustc + cargo + 标准库) | rustc 是编译器,cargo 负责构建与包管理 | javac + Maven + 标准库 | Scoop 安装 rustup 时通常会一并安装 stable 工具链 |
| MSVC C++ 生成工具 + Windows SDK | 提供生成 Windows .exe 所需的链接器和库 | 无直接对应 | Visual Studio 生成工具安装器 |
| RustRover | JetBrains 的 Rust IDE,提供补全、调试和 Cargo 集成 | IDEA | Toolbox 安装 |
rust-analyzer(语言服务)不用单独装,RustRover 内置。
2. 安装
前提:已安装 Scoop 和 Git。终端使用 Git Bash,普通权限即可;安装 MSVC 依赖时,由安装器弹出 UAC 授权窗口。
2.1. 准备 MSVC 依赖
如果已经安装了 MSVC C++ x64/x86 生成工具和 Windows SDK,可以跳过这一步。只有 Visual Studio、VS Code 或 Windows 本身,不代表这些组件已经齐全。
打开 Visual Studio 生成工具下载页,下载安装器,勾选「使用 C++ 的桌面开发」。
右侧「安装详细信息」的「可选」区域,只保留下面两项勾选:
- ☑ 适用于 x64/x86 的 MSVC 生成工具(最新版)
- ☑ Windows 11 SDK(保留安装器默认勾选的版本,只选一个)
取消下面四项的勾选:
- ☐ 用于 Windows 的 C++ CMake 工具
- ☐ 测试工具核心功能 - 生成工具
- ☐ MSVC AddressSanitizer
- ☐ vcpkg 包管理器
其他可选项保持不勾选,包括 ATL、MFC、C++/CLI、Clang、其他 SDK 版本、MSVC 预览版及 v143/v142/v141。
上方自动包含的「Visual C++ v14 可再发行更新」和「C++ 核心桌面功能」保持不动,然后点击「安装」。
不需要安装完整的 Visual Studio IDE。安装完成后,再继续安装 Rust。
2.2. 设置代理并安装 rustup
下面使用本机 HTTP 代理 127.0.0.1:7897。先打开代理客户端;如果你的代理端口不同,修改命令中的端口。
在 Git Bash 中执行:
bash
export HTTP_PROXY="http://127.0.0.1:7897"
export HTTPS_PROXY="http://127.0.0.1:7897"
scoop config proxy 127.0.0.1:7897
scoop install rustup代理要在安装前设置:Scoop 要下载安装器,安装器也会下载 Rust 工具链。
Scoop 的 rustup 包默认使用 MSVC 目标。当前安装脚本会执行 rustup-init -y --no-modify-path,新安装通常会同时安装 stable 工具链,不是只安装版本管理器或命令垫片。
这里有两种不同作用范围的代理设置:
scoop config proxy是持久配置,以后 Scoop 下载也会使用它;代理客户端需要开着。export只影响当前 Git Bash 及其子进程,关闭终端后不会保留。
2.3. 重开终端并选定工具链
Scoop 安装完成后,关闭 Git Bash,再重新打开,让它写入的 CARGO_HOME、RUSTUP_HOME 和 PATH 生效。如果从 IDE 的内置终端操作,需要重启 IDE。
在新终端中执行:
bash
export HTTP_PROXY="http://127.0.0.1:7897"
export HTTPS_PROXY="http://127.0.0.1:7897"
rustup default stable-x86_64-pc-windows-msvc
rustup show
rustc --version
cargo --versionrustup default 在这里明确选定 stable MSVC 工具链:已经安装就使用现有工具链;尚未安装则下载。它不代表 Scoop 安装后一定还缺工具链。
rustup show 应显示 stable-x86_64-pc-windows-msvc 为默认工具链,rustc 和 cargo 应输出版本号。是否能生成 .exe,还要继续验证。
3. 验证
在准备存放测试项目的目录中,继续使用上面的 Git Bash 执行:
bash
cargo new hello
cd hello
cargo run如果当前目录已有 hello 文件夹,换一个未使用的项目名,并相应修改 cd 命令。
输出 Hello, world!,说明编译、链接和运行正常,环境就绪。
4. IDE
用 RustRover:在 JetBrains Toolbox 中安装,个人非商用免费。
打开刚创建的 hello 项目文件夹。如果 IDE 提示找不到工具链,先重启 Toolbox 和 RustRover,让它们读取安装后的环境变量。
5. 常见问题
找不到 rustup、rustc 或 cargo 命令
先确认 scoop install rustup 已成功完成,再关闭并重新打开终端。如果使用 IDE 内置终端,重启 IDE。不要另外安装一份官网 rustup 来覆盖 Scoop 管理的版本。
报 no default toolchain
表示当前 rustup 没有配置默认工具链,不是新安装必然出现的现象。在新开的 Git Bash 中设置代理,然后执行:
bash
export HTTPS_PROXY="http://127.0.0.1:7897"
rustup default stable-x86_64-pc-windows-msvcscoop install rustup 下载超时
确认代理客户端开着,且代理端口与命令一致。Scoop 的下载代理和安装器使用的环境变量都要设置,不能只打开 Windows 系统代理后就假定安装器也会使用它。
如果中断后提示 Couldn't remove ... may be in use,先关闭仍在运行的安装命令,并在任务管理器中结束残留的 rustup-init.exe,再重试。
编译报 link.exe not found 或找不到 Windows 库
检查 Visual Studio 生成工具是否安装了 MSVC C++ x64/x86 生成工具和 Windows SDK。缺少时补装,完成后重开终端,再进入项目目录执行 cargo run。安装器要求重启 Windows 时,按提示重启。
cargo 拉依赖很慢或超时
新开终端后,原来的 export 不会保留。下载依赖前,在当前 Git Bash 中执行:
bash
export HTTPS_PROXY="http://127.0.0.1:7897"保持 crates.io 官方源即可。Cargo 支持这个代理变量,也支持 .cargo/config.toml 中的 http.proxy 和 Git 全局代理配置;如果之前配置过其他代理,检查是否指向已经停用的端口。
Scoop 更新后,Rust 工具链没有更新
rustup 本身和 Rust 工具链分别更新。在 Git Bash 中执行:
bash
export HTTPS_PROXY="http://127.0.0.1:7897"
scoop update rustup
rustup update stable6. 配置速记
| 项目 | 值 |
|---|---|
| 安装器 | rustup(Scoop main 桶) |
| 工具链 | stable-x86_64-pc-windows-msvc |
| 工具链选择或补装 | rustup default stable-x86_64-pc-windows-msvc |
| MSVC 依赖 | MSVC C++ x64/x86 生成工具 + Windows SDK |
| Rust 工具链目录 | <Scoop 根目录>\persist\rustup\.rustup |
| Cargo 配置与缓存目录 | <Scoop 根目录>\persist\rustup\.cargo |
| Scoop 下载代理 | scoop config proxy 127.0.0.1:7897,持久配置 |
| rustup / Cargo 下载代理 | 当前终端设置 HTTPS_PROXY=http://127.0.0.1:7897 |
| 环境变量生效 | Scoop 安装后重开终端;IDE 内置终端需重启 IDE |
| IDE | RustRover(Toolbox,个人非商用免费) |
| 更新 | scoop update rustup + rustup update stable |
| 验证 | cargo run 输出 Hello, world! |