在 Linux 环境下进行 Rust 开发,必然会用到官方提供的工具链管理器——rustup。它不仅是 Rust 官方推出的版本管理利器,更是日常切换编译环境、维护多个项目版本的核心工具。无论是初次接触 Rust 的新手,还是需要同时维护多个项目的老手,掌握 rustup 的基础用法都能显著提升开发效率。
首先介绍安装方法。在终端中执行以下命令即可运行安装脚本:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
该命令会自动识别系统环境,下载并安装最新的稳定版 rustup。安装过程中会提示选择默认工具链,建议直接选择 stable,然后按下回车继续。脚本会尝试自动更新 shell 配置文件(如 .bashrc 或 .zshrc),但要使更改立即生效,还需手动执行:
source $HOME/.cargo/env
安装完成后,执行 rustc --version 命令,如果能正确显示版本信息(例如 rustc 1.70.0 (90c541806 2023-05-31)),则说明安装成功,环境配置完毕。
下面正式进入版本管理部分。
查看已安装的工具链列表
rustup show 是查看当前环境状态的实用命令。执行后,你可以看到系统中已安装的所有 Rust 工具链(包括稳定版、beta 版、nightly 版以及自定义版本),同时还会显示当前默认使用的工具链。输出内容大致如下:
Default host: x86_64-unknown-linux-gnu
rustup home: /home/user/.rustup
installed targets for active toolchain
--------------------------------------
x86_64-unknown-linux-gnu
active toolchain
----------------
stable-x86_64-unknown-linux-gnu (default)
rustc 1.70.0 (90c541806 2023-05-31)
安装指定版本的工具链
安装不同版本非常直观:
- 安装最新稳定版:
rustup install stable - 安装某个具体版本(例如 1.65.0):
rustup install 1.65.0 - 尝试测试版或 nightly 版:
rustup install beta或rustup install nightly
切换默认工具链
日常开发中稳定版最为稳妥。但如果某个项目需要特定版本,你可以随时切换默认工具链:
rustup default stable—— 切换回稳定版rustup default 1.65.0—— 切换到 1.65.0 版本rustup default nightly—— 切换到 nightly 版本,体验最新特性
切换后建议再用 rustc --version 确认当前版本。
临时使用特定版本
有时你只想在当前终端会话中使用某个版本,而不影响全局默认设置。此时 rustup run 非常实用:
rustup run 1.65.0 cargo build
卸载工具链
不再需要的版本可以直接卸载:rustup uninstall 1.60.0
更新 Rust 版本
更新 rustup 本身很简单:rustup update。该命令会同步所有已安装工具链的最新版本,并显示更新日志。如果你的默认工具链是 stable,它也会自动升级到最新的稳定版。
如果你想单独更新某个特定工具链(例如 nightly),可使用:rustup update nightly
高级用法:让项目自动绑定版本
团队协作时,统一 Rust 版本是一个常见难题。rustup 提供了两种解决方案:
- 在项目根目录下创建一个
rust-toolchain文件,内容如下:
[toolchain]
channel = "1.65.0"
components = ["rustfmt", "clippy"]
- 或者直接执行
rustup override set 1.65.0,这样当你进入该项目目录时,终端会自动切换为该版本,而不会影响其他项目。
管理工具链组件
除了核心编译器,你还可以通过 rustup 安装额外组件,例如代码格式化工具 rustfmt、静态检查工具 clippy、Rust 源码等:
rustup component add rustfmt
rustup component add clippy
查看已安装组件:rustup component list --installed,卸载也很直接:rustup component remove rustfmt。
几点提醒
- 尽量使用 rustup,而非系统包管理器。apt、dnf 等虽然也能安装 Rust,但版本更新较慢,且版本切换不便,远不如 rustup 灵活。
- 升级前做好备份。特别是项目中的
Cargo.toml和依赖锁文件,能有效避免版本冲突带来的问题。 - 团队协作建议锁定版本。将
rust-toolchain文件提交到仓库,确保所有成员使用同一套工具链,省心省力。
掌握这些技巧,你就能在 Linux 环境下自如地驾驭 Rust 的版本切换,无论是日常开发还是尝鲜新特性,都能游刃有余。
