Rustup - Rust 的工具链管理器


MIT
跨平台
Rust

软件简介

Rustup

Rustup 是一个命令行应用,能够下载并在不同版本的 Rust 工具链中进行切换 —— 如编译器 rustc和标准库,该应用所支持的平台数量不少。事实上,rustc本身就支持大约 56 个平台,而 rustup实际上能够为其中14个平台管理编译器,为30个平台管理标准库。

Rust 1.8 中引入
Rustup,是一个针对 Rust 语言的工具链管理器(toolchain manager),其目标是让交叉编译 Rust 代码更加简单。Mozilla
工程师 Brian Anderson 近期与我们分享了关于此的更多细节。

此外,rustup 能够追踪工具链的具体版本,包括 Rust 的 nightly 版本、beta 版本和发行版本。举个例子,你可以用 rustup检查程序在下一个 Rust
发行版下的行为。但是之前,你需要安装当前平台下的 Rust beta 版本的工具链,然后利用该工具链运行单元测试。使用 rustup之后,可以通过执行类似下面的代码完成:

$ rustup install beta
$ rustup run beta cargo test

再举一个例子,Anderson 介绍了如何使用 rustup为使用 musl标准库(而非大家常用的glibc标准库)的 Linux
版本创建静态二进制文件:

$ rustup target add x86_64-unknown-linux-musl
$ cargo run --target=x86_64-unknown-linux-musl

rustup还是一个正在开发中的产品,将致力于扩充支持平台的数量。特别要注意,rustup目前还无法针对 Android
平台进行无缝交叉编译。这要求开发者手动下载 Android
NDK,并针对性地创建一个“独立的工具链”。Anderson
表示,rustup将在未来的版本中解决这个问题,增加获取并配置所要求的连接器和C语言工具链的能。另外,rustup还计划通过
Emscripten 支持Web开发。

rustup是 Anderson 开发的 [multirust](https://github.com/brson/multirust)的后继者,并取代了其位置。rustup仍被看作处于 beta 阶段,但是目前已经可以安装并试用。