不灭的焱

革命尚未成功,同志仍须努力 下载Java21

作者:AlbertWen  添加时间:2026-07-19 21:57:17  修改时间:2026-07-27 05:43:33  分类:01.Rust编程  编辑

目录

一、最常用的升级方法

如果 Rust 是通过官方推荐的 rustup 安装的,直接执行:

rustup update stable

这条命令会同时升级:

  • Rust 编译器 rustc
  • 包管理和构建工具 cargo
  • Rust 标准库
  • rustfmt、文档等已安装组件

因此,通常不需要分别升级 Cargo 和 Rust。Cargo 属于 Rust 工具链的一部分,会跟随对应工具链一起升级。(Rust语言)

二、查看当前版本

升级前可以先查看版本:

rustc --version
cargo --version
rustup --version

例如:

rustc 1.xx.x
cargo 1.xx.x
rustup 1.xx.x

查看当前正在使用哪个 Rust 工具链:

rustup show

三、执行升级

1. 只升级稳定版

日常开发推荐使用:

rustup update stable

升级完成后,再次确认:

rustc --version
cargo --version

2. 升级所有已安装的工具链

如果同时安装了 stablebetanightly,可以执行:

rustup update

它会检查并升级当前安装的所有官方工具链。(Rust语言)

例如可能包括:

stable-x86_64-pc-windows-msvc
nightly-x86_64-pc-windows-msvc

3. 只升级 rustup 自身

rustup self update

这条命令只升级 rustup,不会单独下载新的 Rust 工具链。通常执行 rustup update 时也会顺便检查 rustup 自身更新。(Rust语言)

四、容易混淆的 cargo update

注意,下面这条命令:

cargo update

不是升级 Cargo 工具本身

它的作用是更新当前 Rust 项目中的依赖版本,并修改:

Cargo.lock

例如:

cd my-rust-project
cargo update

表示在 Cargo.toml 允许的版本范围内,更新项目依赖。(Rust 文档)

两者区别如下:

命令 作用
rustup update stable 升级 Rust 和 Cargo 工具链
rustup update 升级所有已经安装的 Rust 工具链
rustup self update 只升级 rustup
cargo update 更新项目的 Cargo 依赖和 Cargo.lock

五、升级后版本没有变化

如果执行了:

rustup update stable

但进入某个项目后,rustc --version 仍然是旧版本,可以执行:

rustup show

检查项目是否指定了固定工具链。

情况一:项目存在 rust-toolchain.toml

例如:

[toolchain]
channel = "1.85.0"

这表示项目被固定在 Rust 1.85.0。即使全局 stable 已升级,进入这个项目时仍然使用 1.85.0。

可以修改成:

[toolchain]
channel = "stable"

或者指定新的版本:

[toolchain]
channel = "1.96.1"

项目目录中的 rust-toolchain.toml、目录 override 等配置,会优先于全局默认工具链。(Rust语言)

情况二:目录设置了 override

查看:

rustup show

取消当前目录的固定工具链:

rustup override unset

然后重新执行:

rustup update stable

六、Windows 升级示例

在 PowerShell、CMD 或 VS Code 终端中执行:

rustc --version
cargo --version

rustup update stable

rustc --version
cargo --version

如果出现类似错误:

could not remove rustup.exe
文件正在被另一个程序使用
Access is denied

先关闭:

  • VS Code
  • RustRover
  • 正在运行的 Cargo 程序
  • 其他 PowerShell、CMD 终端

然后重新打开终端执行:

rustup update stable

官方 rustup 文档也指出,编辑器中运行的 Rust 相关服务可能导致 Windows 无法替换 rustup.exe。(Rust语言)

七、推荐的完整升级命令

平时只需要执行:

rustup update stable
rustc --version
cargo --version

需要同步更新项目依赖时,再进入项目目录执行:

cargo update
cargo check

其中:

rustup update stable

升级开发工具;而:

cargo update

更新当前项目的第三方依赖。