Rustup 管理工具

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

一般安装不会只安装rust编译器,而是下载rustup工具,它是rust的安装器(安装编译器、标准库、Cargo等)和rust的版本管理工具(可切换rust版本)

安装rustup:curl https://sh.rustup.rs -sSf | sh

rustup功能集合(官方说法):
    管理安装多个官方版本的 Rust 二进制程序。
    配置基于目录的 Rust 工具链。
    安装和更新来自 Rust 的发布通道: nightly, beta 和 stable。
    接收来自发布通道更新的通知。
    从官方安装历史版本的 nightly 工具链。
    通过指定 stable 版本来安装。
    安装额外的 std 用于交叉编译。
    安装自定义的工具链。
    独立每个安装的 Cargo metadata。
    校验下载的 hash 值。
    校验签名 (如果 GPG 存在)。
    断点续传。
    只依赖 bash, curl 和常见 unix 工具。
    支持 Linux, OS X, Windows(via MSYS2)。
    
rust用途个人理解:管理编译器的工具,可以更新管理rustc rustdoc 等工具链
    
版本说明:
    stable版本 —— Rust 的稳定版本,每6周发布一次。
    beta版本 —— Rust 的公开测试版本,将是下一个stable版本。
    nightly版本 —— 每天更新,包含以一些实验性的新特性。
    
rustup默认安装的组件:
    rustc — Rust 编译器。
    rust-std — Rust 标准库。
    cargo — 包管理和构建工具,类似于 Java 的 Maven 和 Gradle。
    rust-docs — Rust 文档。
    rustfmt — 用来格式化 Rust 源代码。
    clippy — Rust 的代码检查工具。
    (注意:不包括wasm工具,安装wasm使用命令rustup target add wasm32-unknown-unknown --toolchain nightly-2021-03-03)命令用法:
-------------------------------------------------------------------------------

展示目前所有安装的工具链:
rustup show

设置当前默认工具链版本:
rustup default nightly
rustup default nightly-2021-03-03-x86_64-unknown-linux-gnu

安装工具链:
rustup install nightly
rustup install nightly-2021-03-03

更新所有工具链:
rustup update
rustup self update (更新自己)

指定工具链版本进行某些命令的操作:
rustup run nightly-2021-03-03-x86_64-unknown-linux-gnu rustc --version

使用指定rustup版本进行编译:
cargo +nightly-2020-09-30 build --release

实战演练:

值得注意的是,我们安装了很多toolchain工具链版本,当前也有默认的,我们依然指定当前项目使用哪一个工具链的版本,在项目的根目录下创建一个名字为rust-toolchain的文件,内容如下:

nightly-2020-09-30

以此指定工具链版本。

 

 

 

 

 

 


 

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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值