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 通道)开始提供预编译二进制文件,但没有在其上执行自动化测试。
你可以关注问题 #73908,以跟踪将 Apple Silicon 支持提升到 Tier 1 所需的工作。
支持安装次要版本
Rust 团队每六周发布一个新版本,定期带来新特性和 bug 修复。有时稳定的发布版本中会引入回归问题,团队会发布一个包含该问题修复的“点版本”。例如,1.45.1 和 1.45.2 是 Rust 1.45.0 的点版本,而 1.46.0 和 1.47.0 都没有点版本。
使用 rustup 1.22.1 或更早版本,如果你想使用稳定版本,可以安装 stable(它会自动更新到最新版本)或特定的版本号,例如 1.48.0、1.45.0 或 1.45.2。从 rustup 的这个版本(1.23.0)开始,你也可以安装不指定修订版本号的次要版本,例如 1.48 或 1.45。这些“虚拟”版本将始终指向该周期中最新的修订版本,因此 rustup toolchain install 1.45 将会获取 1.45.2 工具链。
rust-toolchain 文件的新格式
rustup 1.5.0 版本引入了 rust-toolchain 文件,允许你为项目选择默认工具链。当文件存在时,rustup 会确保文件中指定的工具链安装在本地系统上,并在调用 rustc 或 cargo 时使用该版本。
$ 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 语法用于此文件,支持指定组件和目标。
[]
= "nightly-2020-07-10"
= ["rustfmt", "clippy"]
= ["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