温馨提示×

Ubuntu Rust版本升级攻略

小樊
34
2025-11-28 20:16:32
栏目: 编程语言

Ubuntu Rust 版本升级攻略

一 升级总览与准备

  • Ubuntu 上,推荐使用官方的 rustup 管理并升级 Rust 工具链(稳定版、测试版、Nightly 多版本共存、按需切换)。若此前通过 apt 安装过系统包(如 rustc/cargo),为避免与 rustup 冲突,建议先卸载系统包,再使用 rustup 接管环境。升级前可先查看当前版本:rustc -Vcargo -Vrustup -V。为获得最新特性与修复,优先使用 rustup 而非发行版仓库。若网络较慢,可设置国内镜像源加速下载与更新。

二 标准升级步骤

  • 安装或重装 rustup(如已安装可跳过):
    • 卸载旧版(若通过 apt 安装过):sudo apt remove rustc cargo
    • 下载并安装:curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    • 使环境变量生效:source $HOME/.cargo/env
  • 升级到最新稳定版:rustup update
  • 验证版本:rustc -Vcargo -V
  • 常用管理命令一览:
    • 查看/切换默认工具链:rustup showrustup default stable|nightly|<version>
    • 安装指定版本:rustup install <version>
    • 列出已安装工具链:rustup toolchain list
    • 临时使用某工具链运行命令:rustup run <toolchain> cargo build
    • 卸载工具链:rustup toolchain uninstall <version>
    • 检查更新:rustup check
    • 更新 rustup 自身:rustup self update
    • 查看/添加/移除组件:rustup component listrustup component add clippy rustfmt rust-srcrustup component remove <c>

三 国内镜像加速

  • 设置环境变量(在运行安装脚本前或当前 shell 中导出):
    • 下载与更新源镜像:
      • export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
      • export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
  • 说明:设置镜像后,rustup update 与工具链下载会显著加速,适合国内网络环境。

四 多版本与项目级管理

  • 多版本共存与切换:
    • 安装 Nightly:rustup toolchain install nightly
    • 全局默认:rustup default nightly(切回稳定版:rustup default stable
    • 仅对当前项目生效(项目级覆盖):在项目根目录执行 rustup override set nightly;查看生效链:rustup show
  • 工具链与组件:
    • 查看组件:rustup component list
    • 按需添加常用组件:rustup component add clippy rustfmt rust-src
  • Profile(组件集预设):
    • 查看/切换:rustup show profilerustup set profile minimal|default|complete
    • 说明:default 含 rustc、cargo、rust-std、rust-docs、clippy、rustfmt;minimal 更精简;complete 最全。

五 常见问题与排查

  • 命令未找到:执行 source $HOME/.cargo/env,或确认 which cargowhich rustup 输出位于 ~/.cargo/bin;必要时检查 shell 配置(如 .bashrc/.zshrc)是否已包含该路径。
  • 与系统包冲突:若 apt 安装的旧版与新版本混用导致异常,建议卸载系统包(sudo apt remove rustc cargo)后仅保留 rustup 管理。
  • 特定项目要求特定版本:使用 rustup override set <version> 在项目目录设置,或 rustup run <version> cargo build 临时运行;如需全局切换再用 rustup default
  • 老系统(如 Ubuntu 18.04)默认仓库版本较旧,且某些项目可能要求更高版本(例如需要 Rust ≥ 1.40 的 asus-nb-ctrl);此时应使用 rustup 安装并更新到新版本以满足编译需求。

0