rustup 1.29.1 发布:并发性能改进与稳定性修复
rustup 团队发布了 rustup 1.29.1 版本。rustup 是 Rust 编程语言的官方工具链安装和管理工具,几乎所有 Rust 开发者都在使用它。本次更新主要改进了某些操作中的并发性能,并修复了多个稳定性问题。
rustup 是什么
对于刚接触 Rust 的开发者,rustup 是一个必不可少的工具。它负责:
- 安装和管理多个 Rust 工具链版本(stable、beta、nightly)
- 在不同工具链之间切换
- 管理目标平台(cross-compilation targets)
- 安装和管理组件(如 rust-src、clippy、rustfmt)
- 更新工具链和自身
rustup 的设计目标是简单、可靠、跨平台。它支持 Windows、macOS、Linux 和其他类 Unix 系统。
1.29.1 的主要改进
并发性能改进
本次更新的头条是某些 rustup 操作中的并发性能改进。具体来说,在下载和安装多个组件或目标平台时,rustup 现在能够更好地利用并发,显著缩短安装时间。
在之前的版本中,某些操作是串行执行的,即使可以并行也没有利用。例如,安装多个目标平台的标准库时,每个目标都是一个接一个地下载和安装。在 1.29.1 中,这些操作可以并发执行,特别是在网络条件良好的情况下,速度提升明显。
稳定性修复
除了性能改进,1.29.1 还修复了多个稳定性问题:
Windows 上的路径处理修复:在某些 Windows 环境下,rustup 可能会因为路径包含特殊字符而失败。这个问题在 1.29.1 中得到了修复。
代理支持改进:在使用 HTTP 代理的环境中,rustup 的某些操作可能会失败。1.29.1 改进了代理支持,特别是对需要认证的代理的支持。
部分下载的恢复:如果下载过程中断,rustup 现在能够更好地恢复部分下载的文件,而不是从头开始。
错误信息改进:某些失败场景下的错误信息更加清晰和可操作,帮助开发者更快地定位和解决问题。
如何升级
升级 rustup 本身非常简单:
rustup self update
这会将 rustup 更新到最新版本。然后你可以用以下命令更新 Rust 工具链:
rustup update
如果你还没有安装 rustup,可以从 Rust 官网获取安装脚本:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup 的架构
了解 rustup 的架构有助于理解它的工作原理:
- rustup 本体:一个用 Rust 编写的二进制程序,负责工具链管理
- 代理(proxy):rustup 安装后,会在 PATH 中放置一系列代理二进制(如 rustc、cargo、rustdoc 等),这些代理会根据当前选择的工具链调用对应的真实二进制
- 工具链目录:每个工具链版本都安装在独立的目录中,互不干扰
- 配置文件:rustup 的配置存储在用户目录下,包括默认工具链、覆盖配置等
这种架构使得在不同工具链之间切换几乎是零成本的——只需要修改一个符号链接或配置文件。
常用 rustup 命令
对于 Rust 开发者,以下是一些最常用的 rustup 命令:
# 查看已安装的工具链
rustup toolchain list
# 安装特定版本的工具链
rustup toolchain install 1.98.0
# 设置默认工具链
rustup default stable
# 为当前目录设置工具链覆盖
rustup override set nightly
# 查看已安装的目标平台
rustup target list --installed
# 添加目标平台
rustup target add wasm32-unknown-unknown
# 添加组件
rustup component add clippy rustfmt
# 查看文档
rustup doc
rustup 与 CI/CD
在 CI/CD 环境中,rustup 也是管理 Rust 工具链的标准方式。大多数 CI 平台(GitHub Actions、GitLab CI、CircleCI 等)都预装了 rustup,或者提供了方便的安装方式。
在 CI 中使用 rustup 的最佳实践包括:
- 固定工具链版本(使用
rustup toolchain install 1.98.0而不是stable),确保构建的可重复性 - 使用
--profile minimal减少安装时间和体积 - 缓存
~/.rustup和~/.cargo目录,加速后续构建 - 使用
rustup component add安装需要的组件(如 clippy、rustfmt)
总结
rustup 1.29.1 是一个以稳定性和性能为重点的更新。并发性能的改进让多组件和多目标平台的安装更快,稳定性修复让 rustup 在更多环境下更加可靠。
对于 Rust 开发者来说,保持 rustup 和工具链的更新是一个好习惯。每次更新不仅带来新特性,也包含重要的 bug 修复和安全改进。
rustup 虽然是一个相对简单的工具,但它是整个 Rust 开发生态的基石。它的稳定性和可靠性直接影响着每一个 Rust 项目的开发体验。
原文链接:https://blog.rust-lang.org/2026/09/01/Rustup-1.29.1/