Rustup 团队很高兴宣布 Rustup 版本 1.28.0 发布。Rustup 是安装 Rust 的推荐工具,Rust 是一种赋能每个人构建可靠且高效软件的编程语言。
Rustup 1.28.0 有哪些新变化
Rustup 的这个新版本酝酿已久,带来了实质性的变化。
在深入探讨细节之前,值得一提的是 Chris Denton 已加入团队。Chris 在贡献 Rust 项目中与 Windows 相关部分方面拥有丰富的经验——这是我们之前欠缺的专业知识——因此我们很高兴他加入团队,帮助解决 Windows 特有的问题。
以下改进可能需要改变您使用 Rustup 的方式
-
如果活动工具链未安装,Rustup 将不再自动安装它。
- 为了确保其安装,请运行不带参数的
rustup toolchain install。 - 在更改之前和之后,以下命令都会安装活动工具链
|| # Or, on older versions of PowerShell: ; if ()
- 为了确保其安装,请运行不带参数的
-
现在,通过
rustup toolchain install或rustup default安装与主机不兼容的工具链将被拒绝,除非您明确添加--force-non-host标志。
Rustup 现在正式支持以下主机平台
aarch64-pc-windows-msvcloongarch64-unknown-linux-musl
此版本还带来各种易用性改进,举例如下
rustup show的输出格式已得到清理,使您可以更轻松地了解您的工具链状态。rustup doc现在同时接受一个标志和一个主题,从而可以快速导航到更多书籍的特定部分。- Rustup 的
remove子命令现在支持更多别名,例如rm和del。 - 已添加对 nushell 的基本支持。
我们还进行了以下内部更改
- 默认下载后端已从使用 native-tls 的 reqwest 更改为使用 rustls 的 reqwest。
- 如果新后端导致问题,仍然可以使用
RUSTUP_USE_CURL和RUSTUP_USE_RUSTLS来更改下载后端。如果确实发生问题,请告知我们。 - 默认后端现在使用 rustls-platform-verifier 来验证服务器证书,利用支持该功能的平台上的证书存储。
- 如果新后端导致问题,仍然可以使用
- 创建代理链接时,Rustup 现在将优先尝试符号链接,然后回退到硬链接,而不是先尝试硬链接。
- 可以使用新的
RUSTUP_LOG环境变量来控制 Rustup 二进制文件中的基于 tracing 的日志记录。有关更多详细信息,请参阅开发指南。
最后,我们的官方网站也有一些值得注意的更改
- 网站的整体设计已更新,以更好地与 Rust 项目的品牌形象保持一致。
- 现在可以通过 https://win.rustup.rs/aarch64 下载适用于
aarch64-pc-windows-msvc主机平台的预构建rustup-init.sh安装程序。
更多详细信息可在更新日志中找到!
如何更新
如果您已安装 Rustup 的先前版本,获取 Rustup 1.28.0 非常简单,只需停止任何可能正在使用 Rustup 的程序(例如关闭您的 IDE)并运行
$ rustup self update
Rustup 也会在常规工具链更新结束时自动更新自身
$ rustup update
如果您还没有安装它,可以从我们网站上的相应页面获取 Rustup。
Rustup 的文档也可在Rustup 书籍中找到。
注意事项
Rustup 的发布可能会带来一些问题,这些问题并非由 Rustup 本身引起,而是由于有了新版本。因此,我们特别建议关注以下潜在问题
-
反恶意软件扫描程序可能会阻止 Rustup 或阻止它创建或复制文件(尤其是在安装
rust-docs时,因为它包含许多小文件)。 -
在您的 CI 环境中,Rustup 在尝试执行自更新时可能会失败。
这是一个已知问题,如果确实发生此问题,我们建议在工作流程开始时应用以下变通方法
$ rustup set auto-self-update disable此外,从 1.28.0 版本开始,Rustup 将不再尝试在 CI 环境中进行自更新,因此将来应该不再需要此变通方法。
当反恶意软件扫描程序更新以识别新的 Rustup 版本,并且托管版本在所有 CI 运行器上更新后,这些问题应在几周内自动解决。
致谢
再次感谢所有为 Rustup 1.28.0 的发布做出贡献的贡献者!