Rust 工具之 rustup
安装
rustup 是 Rust 的安装和管理工具,并且官网推荐使用 rustup 安装 Rust。
在不同操作系统的安装方式:
- 在 Unix 系统,使用
curl https://sh.rustup.rs -sSf | sh
命令,该命令会下载并运行rustup-init.sh
。 - 在 Windows 系统,下载并运行
rustup-init.exe
(32-bit,64-bit)。
另外,在 Windows 系统上有两种 ABI 可供选择:
- Visual Studio使用的本地(MSVC) ABI。
- GCC 工具链使用的 GUN ABI。
选择使用哪种 ABI 取决于要使用哪种 C/C++ 库,若要生成在 Windows 上运行的程序,则需要提前安装Visual Studio (Visual Studio 2013或更高版本)或者安装Visual C++ Build Tools。
相关概念
rustup 将 rustc
和 cargo
等工具安装在 Cargo 的 bin
目录(Unix系统在$HOME/.cargo/bin
,Windows系统在%USERPROFILE%\.cargo\bin
),但这些工具只是 Rust 工具链中组件的代理,真正工作的是工具链中的组件。通过 rustup 的命令可以指定使用不同版本的工具链。
与 rustup 相关的概念:
- channel —— Rust 发布在三个不同的"channel"上:stable,beta 和 nightly,其实就是三种不同的版本。
- toolchain —— 一套 Rust 组件,包括编译器及其相关工具,并且包含 channel,版本及支持的平台信息。
- target —— 指编译的目标平台,即:编译后的程序在哪种操作系统上运行。
- component —— toolchain 是由 component 组成的。
- profile —— 为了方便对 component 进行管理,使用 profile 定义一组 component。
Channels
Rust 发布在三个不同的"channel"上:
stable
版本 —— Rust 的稳定版本,每 6 周发布一次。beta
版本 —— Rust 的公开测试版本,将是下一个stable
版本。nightly
版本 —— 每天更新,包含以一些实验性的新特性。
通过 rustup 相关命令可以选择使用不同版本的 Rust,默认安装的是 stable 版本。
Toolchains
工具链的标准命名格式:
1<channel>[-<date>][-<host>]
2
3<channel> = stable|beta|nightly|<version>
4<date> = YYYY-MM-DD
5<host> = <target-triple>
工具链默认被安装在RUSTUP_HOME
(Unix系统:~/.rustup
,Windows系统:%USERPROFILE%/.rustup
)目录下。
Components
工具链由若干组件构成,通过 rustup component list
命令可以查看所有可用和已经安装的组件。
rustup 默认安装的组件:
- rustc — Rust 编译器。
- rust-std — Rust 标准库。
- cargo — 包管理和构建工具,类似于 Java 的 Maven 和 Gradle。
- rust-docs — Rust 文档。
- rustfmt — 用来格式化 Rust 源代码。
- clippy — Rust 的代码检查工具。
Profiles
不同的 profile 包含不同的组件,安装 rustup 时有三种 profile 可选:
Profile | components |
---|---|
minimal | rustc, rust-std, cargo |
default | rustc, rust-std, cargo, rust-docs, rustfmt, clippy |
complete | all |
可以使用rustup set profile
命令修改profile
,比如:rustup set profile minimal
。