安装Rust

使用rustup安装Rust


如你不打算使用以下方法安装或以下方法安装失败,请参考其他安装方法(全英)

rustup是一个管理Rust版本和相关工具的命令行工具,安装rustup会默认安装rust及其工具集。

Windows上安装

  1. 安装C++生成工具(版本至低为2013,建议安装最新版本)或MinGW-w64(推荐下载离线版本,因为联网安装包有网络要求)。

    Windows上编译Rust程序需要Windows ABI,因此官方提供了两个选择:MSVC ABI或GNU ABI,但官方默认、推荐使用MSVC。

    注意在安装C++生成工具时必须勾选C++桌面开发。另外可酌情勾选.NET桌面开发、通用Windows平台开发(某些依赖项可能会需要,但我个人使用过程中并无此问题,如为求稳定,可全部勾选)。

  2. 下载rustup-init.exe(x32|x64)并运行安装。

    1. 使用MSVC的ABI:运行后直接输入1+回车即可按照默认配置安装。

    2. 使用GNU的ABI:运行后输入2(Customize installation),将程序上面显示的default host triple值中的msvc改成gnu键入回车即可修改成使用GNU,回到初始界面后键入1即可等待安装完成。

    rustup默认使用国外源,使用国内源可在PowerShell下执行以下命令(其他Shell类似),并在同一窗口下运行安装程序即可。

    1
    2
    $ENV:RUSTUP_DIST_SERVER='https://mirrors.ustc.edu.cn/rust-static'
    $ENV:RUSTUP_UPDATE_ROOT='https://mirrors.ustc.edu.cn/rust-static/rustup'

在WSL中安装

WSL命令行中运行命令curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh,按照提示步骤安装,网络问题可选解决方案同上。

在Linux/macOS(本人未测试)下安装

直接在终端中输入curl https://sh.rustup.rs -sSf | sh,按照提示步骤安装,网络问题可选解决方案同上。

在macOS下使用brew安装(本人未测试)(备选方案)

命令行运行命令brew install rust

检验


安装结束后,在命令行中输入rustc --versioncargo --version看看是否能正常运行输出。

检验结果

如果没有出现版本号,请尝试将~\.cargo\bin添加到PATH环境变量中或者重装。

你可能会注意到,版本后端有一段英文stable,但上图显示的却是nightly,这个涉及到Rust发布通道,稍后我再解释。

更新、卸载Rust和rustup


一般来说,下载下来的版本可能并不是最新的,使用更新命令即可。

更新:rustup update,会一并更新所有已安装的工具链。

卸载:rustup self uninstall,会一并卸载所有已安装的工具链。

Rust更新通道(可跳过)和Rust版本

详细解释可查看官方文档或者中文翻译

Rust有三个更新通道:

  • Nightly:该通道每天都会从git仓库中生成一个新版本,选用此通道能体验新的实验性功能(船新的BUG),几乎所有的BUG都在此通道产生并被发现消除。
  • Beta:每6周,该通道都会从Nightly通道选择最新的版本作为最新的beta版发布,nightly版中未经发现的bug将于此版本的更新间隔修复。
  • Stable:当beta版即将发布新版本前,该版本将发布到Stable通道中。因此其更新周期也为6周。

多亏这样的过程,Stable通道中的每一个版本都有着良好的稳定性。Beta通道6周的更新周期使得开发人员有充足的时间修复bug,新版本也将更快发布。

鉴于频繁的更新频率,每隔2~3年,Rust团队会发布一个版本(edition,可以理解为大版本),从Rust诞生到现在(2021/9/26),Rust总共只有3个版本201520182021

Nightly通道支持许多Stable通道不支持的功能,比如使用unstable特性。

切换默认通道的方法:rustup default nightlybetastable。不同通道的工具链可共存,大版本间同样可共存。

更新指定通道的方法为:rustup update nightly...

环境声明

在编写本教程时,使用的环境如下:

Windows 11 专业版 Insider Preview(此前我都使用win10,近期升了预览版,并无问题)

Rust 2021

stable: rustc 1.55.0

nightly: rustc 1.57.0

鉴于nightly每天一更,全书将主要使用stable,nightly将用于讲解如何使用新功能和变更。