Rustup 1.23.0 发布

2020年11月27日 · Rustup 工作组

rustup 工作组很高兴地宣布 rustup 1.23.0 版本的发布。Rustup 是安装 Rust 的推荐工具,Rust 是一种编程语言,它正在赋能每个人构建可靠和高效的软件。

如果您已安装了先前版本的 rustup,则获取 rustup 1.23.0 非常简单,只需关闭您的 IDE 并运行

rustup self update

Rustup 还会在正常的工具链更新结束时自动更新自身

rustup update

如果您尚未拥有,您可以从我们网站上的相应页面获取 rustup

rustup 1.23.0 中的新功能

支持 Apple M1 设备

Rustup 现在可以原生用于新的 Apple M1 设备,允许您像在其他平台上一样在新 Mac 上安装它!

请注意,在撰写此博客文章时,aarch64-apple-darwin 编译器处于 Tier 2 目标:预编译的二进制文件从 Rust 1.49(当前在 beta 通道中)开始可用,但不会在它们上执行自动化测试。

您可以关注 issue #73908 以跟踪将 Apple Silicon 支持提升到 Tier 1 所需的工作。

支持安装次要版本

Rust 团队每六周发布一个新版本,定期带来新功能和错误修复。有时,回归会滑入稳定版本,团队会发布包含该回归修复的“点发布”。例如,1.45.11.45.2Rust 1.45.0 的点发布,而 1.46.01.47.0 都没有点发布。

使用 rustup 1.22.1 或更早版本,如果您想使用稳定版本,您可以安装 stable(它会自动更新到最新版本)或特定的版本号,例如 1.48.01.45.01.45.2。从这个版本的 rustup (1.23.0) 开始,您还可以安装一个次要版本,而无需指定补丁版本,如 1.481.45。这些“虚拟”版本将始终指向该周期的最新补丁版本,因此 rustup toolchain install 1.45 将为您获取 1.45.2 工具链。

rust-toolchain 的新格式

rustup 1.5.0 版本引入了 rust-toolchain 文件,允许您为项目选择默认工具链。当该文件存在时,rustup 会确保该文件中指定的工具链已安装在本地系统上,并且在调用 rustccargo 时将使用该版本

$ cat rust-toolchain
nightly-2020-07-10
$ cargo --version
cargo 1.46.0-nightly (fede83ccf 2020-07-02)

该文件非常适合想要使用特定 nightly 版本项目,但不允许添加额外的组件(如 clippy)或编译目标。Rustup 1.23.0 为该文件引入了一种新的可选 TOML 语法,支持指定组件和目标

[toolchain]
channel = "nightly-2020-07-10"
components = ["rustfmt", "clippy"]
targets = ["wasm32-unknown-unknown"]

新语法不会取代旧语法,两者将继续工作。您可以在 rustup 书的“覆盖”章节中了解有关覆盖默认工具链的更多信息。

其他更改

rustup 1.23.0 中还有更多更改:在 更新日志中查看!从这个版本开始,Rustup 的文档也将在 rustup 书中提供。

感谢

感谢所有为 rustup 1.23.0 做出贡献的贡献者!

  • Aaron Loucks
  • Aleksey Kladov
  • Aurelia Dolo
  • Camelid
  • Chansuke
  • Carol (Nichols || Goulding)
  • Daniel Silverstone
  • Dany Marcoux
  • Eduard Miller
  • Eduardo Broto
  • Eric Huss
  • Francesco Zardi
  • FR Bimo
  • Ivan Nejgebauer
  • Ivan Tham
  • Jake Goulding
  • Jens Reidel
  • Joshua M. Clulow
  • Jynn Nelson
  • Jubilee Young
  • Leigh McCulloch
  • Lzu Tao
  • Matthias Krüger
  • Matt Kraai
  • Matt McKay
  • Nick Ashley
  • Pascal Hertleif
  • Paul Lange
  • Pietro Albini
  • Robert Collins
  • Stephen Muss
  • Tom Eccles