跳到主要内容

Rustup 工具链管理

Rustup 是 Rust 官方的工具链安装器和版本管理工具。它让你可以轻松安装、更新和管理多个 Rust 版本。

安装 Rustup

在 Unix 系统上安装(Linux/macOS)

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

在 Windows 上安装

  1. 访问 rustup.rs
  2. 下载并运行 rustup-init.exe
  3. 按照安装向导完成安装

基本命令

查看版本信息

# 查看 rustup 版本
rustup --version

# 查看当前工具链信息
rustup show

# 查看已安装的工具链
rustup toolchain list

工具链管理

# 安装最新稳定版
rustup install stable

# 安装 beta 版本
rustup install beta

# 安装 nightly 版本
rustup install nightly

# 安装特定版本
rustup install 1.70.0

# 卸载工具链
rustup uninstall nightly

设置默认工具链

# 设置默认工具链为稳定版
rustup default stable

# 设置默认工具链为 nightly
rustup default nightly

# 查看当前默认工具链
rustup show active-toolchain

更新工具链

# 更新所有工具链
rustup update

# 更新特定工具链
rustup update stable

# 更新 rustup 自身
rustup self update

目标平台管理

添加编译目标

# 添加 Windows 64位目标
rustup target add x86_64-pc-windows-gnu

# 添加 ARM64 Linux 目标
rustup target add aarch64-unknown-linux-gnu

# 添加 WebAssembly 目标
rustup target add wasm32-unknown-unknown

# 查看已安装的目标
rustup target list --installed

# 查看所有可用目标
rustup target list

交叉编译示例

# 为 Windows 编译
cargo build --target x86_64-pc-windows-gnu

# 为 ARM64 Linux 编译
cargo build --target aarch64-unknown-linux-gnu

组件管理

安装组件

# 安装 Rust 源码(用于 IDE 支持)
rustup component add rust-src

# 安装 Clippy(代码检查工具)
rustup component add clippy

# 安装 rustfmt(代码格式化工具)
rustup component add rustfmt

# 安装 Rust Language Server
rustup component add rls

# 安装 rust-analyzer(推荐的 LSP 实现)
rustup component add rust-analyzer

查看组件

# 查看已安装的组件
rustup component list --installed

# 查看所有可用组件
rustup component list

项目级工具链设置

使用 rust-toolchain.toml

在项目根目录创建 rust-toolchain.toml 文件:

[toolchain]
channel = "1.70.0"
components = ["rustfmt", "clippy"]
targets = ["wasm32-unknown-unknown"]

使用 rust-toolchain 文件

在项目根目录创建 rust-toolchain 文件:

nightly-2023-08-01

临时使用特定工具链

# 使用 nightly 工具链运行命令
rustup run nightly cargo build

# 使用特定版本工具链
rustup run 1.70.0 cargo test

代理和网络设置

设置代理

# 设置 HTTP 代理
export RUSTUP_HTTP_PROXY=http://proxy.example.com:8080

# 设置 HTTPS 代理
export RUSTUP_HTTPS_PROXY=https://proxy.example.com:8080

使用镜像源

# 设置中科大镜像源
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup

常用配置

配置文件位置

  • Unix: ~/.rustup/settings.toml
  • Windows: %USERPROFILE%\.rustup\settings.toml

环境变量

# Rust 工具链安装目录
export RUSTUP_HOME=~/.rustup

# Cargo 安装目录
export CARGO_HOME=~/.cargo

# 添加到 PATH
export PATH="$CARGO_HOME/bin:$PATH"

故障排除

常见问题

  1. 权限问题

    # 修复权限
    chmod +x ~/.cargo/bin/*
  2. 网络连接问题

    # 使用详细输出查看问题
    rustup -v update
  3. 清理缓存

    # 清理下载缓存
    rustup self uninstall
    # 重新安装
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

完全卸载

# 卸载 rustup 和所有工具链
rustup self uninstall

最佳实践

  1. 定期更新

    # 每月更新一次
    rustup update
  2. 项目工具链固定

    • 在项目中使用 rust-toolchain.toml 固定工具链版本
    • 确保团队成员使用相同版本
  3. 按需安装组件

    • 只安装项目需要的组件和目标平台
    • 避免安装过多不必要的组件
  4. 使用稳定版本

    • 生产项目使用 stable 工具链
    • 实验性功能可以使用 nightly

通过 Rustup,你可以轻松管理 Rust 开发环境,确保项目的一致性和可重现性。