Rust 工具之 rustup

安装

rustup 是 Rust 的安装和管理工具,并且官网推荐使用 rustup 安装 Rust

在不同操作系统的安装方式:

  • 在 Unix 系统,使用curl https://sh.rustup.rs -sSf | sh命令,该命令会下载并运行rustup-init.sh
  • 在 Windows 系统,下载并运行rustup-init.exe32-bit64-bit)。

另外,在 Windows 系统上有两种 ABI 可供选择:

选择使用哪种 ABI 取决于要使用哪种 C/C++ 库,若要生成在 Windows 上运行的程序,则需要提前安装Visual Studio (Visual Studio 2013或更高版本)或者安装Visual C++ Build Tools

相关概念

rustup 将 rustccargo等工具安装在 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

工具链的标准命名格式:

<channel>[-<date>][-<host>]

<channel>       = stable|beta|nightly|<version>
<date>          = YYYY-MM-DD
<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 可选:

Profilecomponents
minimalrustc, rust-std, cargo
defaultrustc, rust-std, cargo, rust-docs, rustfmt, clippy
completeall

可以使用rustup set profile命令修改profile,比如:rustup set profile minimal

相关资料

Install Rust
The rustup book

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RustupRustup 是一个命令行应用,能够下载并在不同版本的 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-muslrustup 还是一个正在开发中的产品,将致力于扩充支持平台的数量。特别要注意,rustup 目前还无法针对 Android 平台进行无缝交叉编译。这要求开发者手动下载 Android NDK,并针对性地创建一个“独立的工具链”。Anderson 表示,rustup 将在未来的版本中解决这个问题,增加获取并配置所要求的连接器和C语言工具链的能。另外,rustup 还计划通过 Emscripten 支持Web开发。rustup 是 Anderson 开发的 multirust 的后继者,并取代了其位置。rustup 仍被看作处于 beta 阶段,但是目前已经可以安装并试用。 标签:Rustup
如果需要在没有网络连接的环境下进行 Rust 内核开发,可以使用离线安装的方式,下面是具体步骤: 1. 下载 Rust 工具链 首先,在有网络连接的环境下,需要下载 Rust 工具链的离线安装包。可以从 Rust 官网下载对应平台的离线安装包:https://www.rust-lang.org/tools/install 下载完成后,将安装包保存到本地。 2. 安装 Rust 工具链 将 Rust 工具链的离线安装包拷贝到目标机器上,执行安装命令: ``` ./rustup-init --no-modify-path -y --default-toolchain none ``` 这将会安装 Rust 工具链,并且不会修改环境变量 PATH。 3. 配置 Rust 工具链 为了构建内核,需要使用 `xargo` 工具,因此需要将 Rust 工具链配置为使用 `xargo` 工具。可以使用以下命令配置 Rust 工具链: ``` rustup toolchain link kernel /path/to/rustc --no-self-update --force ``` 其中,`/path/to/rustc` 是 Rust 工具链的安装路径,可以使用绝对路径或相对路径,`kernel` 是自定义的 Rust 工具链名称。 4. 安装 `xargo` 工具 `xargo` 是一个 Rust 工具,可以用于构建 Rust 内核。使用以下命令安装 `xargo` 工具: ``` cargo install --force --path /path/to/xargo ``` 其中,`/path/to/xargo` 是 `xargo` 工具的源代码路径。 5. 安装 Rust 标准库 默认情况下,Rust 工具链是不包含 Rust 标准库的,需要手动安装。可以使用以下命令安装 Rust 标准库: ``` rustup component add rust-src --toolchain kernel ``` 其中,`--toolchain` 参数指定了要安装的 Rust 工具链。如果没有指定该参数,默认会使用当前的 Rust 工具链。 安装完成后,就可以使用 `xargo` 工具进行构建了,例如: ``` xargo build --target x86_64-unknown-none --release --no-default-features --features myfeature ``` 其中,`--target` 参数指定了目标平台,`x86_64-unknown-none` 表示 x86_64 架构的裸机环境。`--release` 参数表示使用优化编译。`--no-default-features` 参数表示不使用 Rust 标准库的默认特性,`--features myfeature` 参数可以指定使用特定的 Rust 标准库特性。 以上就是在离线环境下配置 Rust 工具链、`xargo` 工具Rust 标准库的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值