Rust最新版安装教程 (rustup 方式)


Rust 程序设计语言安装指南:基于 rustup 的详尽解析

1. 引言

Rust 是一门系统编程语言,以其内存安全、零成本抽象和无畏并发等特性,在近年来受到了广泛的关注和应用。从操作系统内核、嵌入式设备到 WebAssembly 应用,Rust 正在逐步成为开发者手中的利器。为了方便 Rust 的安装、管理和更新,Rust 社区开发了 rustup 工具。本文旨在提供一份基于 rustup 的 Rust 最新版安装详尽指南,内容涵盖安装前的准备、安装过程的详细步骤、安装后的验证与配置,以及对不同平台下安装差异的讨论。

2. 安装前准备

2.1. 系统要求

在开始安装 Rust 之前,需要确认目标系统满足 Rust 的基本运行要求。Rust 支持多种操作系统,包括:

  • Linux: 大多数主流发行版,如 Ubuntu、Debian、Fedora、CentOS、Arch Linux 等。
  • macOS: macOS 10.7 (Lion) 及更高版本。
  • Windows: Windows 7 及更高版本,推荐 Windows 10 或 Windows 11。
  • FreeBSD/OpenBSD:类UNIX操作系统

对于硬件配置,Rust 本身对硬件的要求并不高,现代计算机基本都能满足。但考虑到编译大型 Rust 项目可能需要较多的内存和 CPU 资源,建议至少具备:

  • 内存: 4GB 及以上,推荐 8GB 或更高。
  • CPU: 双核及以上,推荐四核或更高。
  • 硬盘空间: 至少 10GB 可用空间,用于存放 Rust 工具链、依赖库和项目代码。

2.2. 网络环境

由于 rustup 需要从网络下载 Rust 工具链和组件,因此需要确保目标系统能够访问 Rust 的官方网站和相关的资源服务器。如果网络环境受限,可能需要配置代理服务器或使用离线安装方式(本文不涉及离线安装)。

2.3 卸载旧版本(可选)

如果目标系统先前安装过 Rust,建议先卸载旧版本,以免与新版本发生冲突。卸载方法取决于先前安装 Rust 的方式。如果之前也是通过 rustup 安装的,可以使用以下命令卸载:

bash
rustup self uninstall

如果通过其他方式(如包管理器)安装的,请参考相应包管理器的卸载命令。

3. rustup 安装过程

3.1. 下载 rustup 安装脚本

rustup 的安装过程非常简单,只需要下载并运行一个安装脚本即可。不同操作系统下,获取安装脚本的方式略有不同。

  • Linux / macOS:

在终端中执行以下命令:

bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

这条命令使用 curl 工具从 https://sh.rustup.rs 下载 rustup 安装脚本,并通过管道符 | 将脚本内容传递给 sh 命令执行。--proto '=https'--tlsv1.2 参数用于强制使用 HTTPS 协议和 TLS 1.2 版本,确保下载过程的安全性。-sSf 参数使 curl 在静默模式下运行,并在发生错误时显示错误信息。

  • Windows:

在 Windows 上,需要下载并运行 rustup-init.exe 可执行文件。可以从 Rust 官方网站下载,或者在 PowerShell 中执行以下命令:

powershell
(New-Object Net.WebClient).DownloadFile('https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe', 'rustup-init.exe')
.\rustup-init.exe

或者通过winget方式安装:
powershell
winget install -e --id Rustlang.Rustup

这条命令使用 New-Object Net.WebClient 创建一个 WebClient 对象,并调用其 DownloadFile 方法从指定 URL 下载 rustup-init.exe 文件。然后,通过 .\rustup-init.exe 运行下载的可执行文件。

3.2. 运行安装脚本

下载完成后,运行安装脚本。在 Linux 和 macOS 上,上一步的命令已经直接运行了脚本。在 Windows 上,双击 rustup-init.exe 文件即可。

安装脚本会执行一系列操作,包括:

  1. 检测系统环境: 检查操作系统类型、架构、已安装的工具链等。
  2. 下载 Rust 工具链: 从 Rust 官方服务器下载最新的稳定版 Rust 工具链(包括编译器 rustc、包管理器 cargo、标准库等)。
  3. 安装工具链: 将下载的工具链安装到默认目录(Linux/macOS 下为 ~/.cargo/bin,Windows 下为 %USERPROFILE%\.cargo\bin)。
  4. 配置环境变量: 将 Rust 工具链的路径添加到 PATH 环境变量中,以便在终端中直接使用 rustccargo 等命令。

在安装过程中,脚本可能会提示选择安装选项。通常情况下,选择默认选项(即直接按回车键)即可。

3.3. 安装后配置

安装完成后,需要重新加载环境变量,使配置生效。

  • Linux / macOS:

关闭当前终端窗口,重新打开一个新的终端窗口。或者,执行以下命令使配置立即生效:

bash
source "$HOME/.cargo/env"

  • Windows:

关闭当前 PowerShell 或命令提示符窗口,重新打开一个新的窗口。

4. 验证安装

安装完成后,需要验证 Rust 是否正确安装。

4.1. 检查版本

在终端中执行以下命令,查看 Rust 编译器和 Cargo 的版本:

bash
rustc --version
cargo --version

如果正确安装,会输出类似以下的信息:

rustc 1.70.0 (90c541806 2023-05-31)
cargo 1.70.0 (ec2932806 2023-04-25)

输出的版本号可能与示例不同,因为 Rust 会不断更新。

4.2. 创建并运行 Hello World 程序

为了进一步验证安装,可以创建一个简单的 Rust 程序并运行。

  1. 创建项目:

在终端中执行以下命令,使用 Cargo 创建一个新的 Rust 项目:

bash
cargo new hello_world

这会在当前目录下创建一个名为 hello_world 的新目录,其中包含一个基本的 Rust 项目结构。

  1. 编写代码:

进入 hello_world 目录,打开 src/main.rs 文件,可以看到以下代码:

rust
fn main() {
println!("Hello, world!");
}

这段代码定义了一个 main 函数,该函数是 Rust 程序的入口点。println! 是一个宏,用于在控制台输出文本。

  1. 编译并运行:

hello_world 目录下,执行以下命令:

bash
cargo run

Cargo 会自动编译项目,并运行生成的可执行文件。如果一切正常,会在终端中看到输出:

Hello, world!

这表明 Rust 已正确安装,并且可以正常编译和运行 Rust 程序。

5. Rust 工具链管理

rustup 不仅可以安装 Rust,还可以管理多个 Rust 工具链。

5.1. 查看已安装工具链

使用以下命令查看已安装的 Rust 工具链:

bash
rustup toolchain list

输出会列出所有已安装的工具链,以及当前默认使用的工具链(带有 (default) 标记)。

5.2. 安装其他工具链

除了默认的稳定版工具链,还可以安装其他版本的工具链,如 nightly 版或 beta 版。

  • 安装 nightly 版:

bash
rustup toolchain install nightly

  • 安装 beta 版:

bash
rustup toolchain install beta

5.3. 切换工具链

可以使用以下命令切换默认使用的工具链:

bash
rustup default nightly

这会将 nightly 版设置为默认工具链。

还可以针对特定项目设置不同的工具链。在项目目录下,执行以下命令:

bash
rustup override set nightly

这会为当前项目设置 nightly 版工具链,而不会影响全局默认工具链。

5.4. 更新工具链

Rust 工具链会定期更新,可以使用以下命令更新所有已安装的工具链:

bash
rustup update

5.5. 卸载工具链

如果不再需要某个工具链,可以使用以下命令卸载:

bash
rustup toolchain uninstall nightly

6. 不同平台安装差异

尽管 rustup 简化了 Rust 在不同平台上的安装过程,但在某些细节上仍存在一些差异。

6.1. Windows 平台

在 Windows 上安装 Rust 时,需要注意以下几点:

  • Visual Studio Build Tools:

Rust 的 Windows 版本通常需要 Visual Studio Build Tools 或 Microsoft C++ Build Tools 的支持。如果在安装过程中遇到相关错误,需要安装这些工具。可以从 Visual Studio 官方网站下载并安装。安装时,请确保选择 "C++ build tools" 工作负载。

  • 环境变量:

在 Windows 上,rustup 会自动将 Rust 工具链的路径添加到用户环境变量 PATH 中。但有时可能需要手动配置。

  • MSYS2:
    如果需要使用GNU工具链,需要安装MSYS2

6.2. Linux 平台

在 Linux 上安装 Rust 时,需要注意以下几点:

  • 包管理器依赖:

某些 Linux 发行版可能需要安装一些额外的软件包,如 build-essentialgccg++make 等。这些软件包通常可以通过发行版的包管理器安装。

  • 权限:

在某些情况下,可能需要使用 sudo 命令以管理员权限运行 rustup 安装脚本。

6.3. macOS 平台

安装过程较为简单,按照提示安装即可,可能需要安装xcode命令行工具。

7. 安装常见问题及解决

  1. 网络连接问题:

如果在安装过程中遇到网络连接错误,请检查网络连接是否正常,或者配置代理服务器。

  1. 权限问题:

在 Linux 或 macOS 上,如果遇到权限错误,请尝试使用 sudo 命令运行安装脚本。

  1. Visual Studio Build Tools 缺失:

在 Windows 上,如果遇到与 Visual Studio Build Tools 相关的错误,请确保已正确安装该工具,并选择 "C++ build tools" 工作负载。

  1. 环境变量未生效:

如果安装完成后,在终端中无法找到 rustccargo 命令,请尝试重新打开终端窗口,或者手动配置环境变量。

  1. 旧版本残留

如果以前安装过其他版本的Rust,可能会存在冲突,请完全卸载后重新安装。

8. Rustup 与 传统包管理器的对比

除了 rustup,一些操作系统也提供了通过包管理器(如 apt、yum、pacman 等)安装 Rust 的方式。下面对这两种安装方式进行比较:

| | rustup | 包管理器 |
| :-------- | :------------------------------------------------------------ | :------------------------------------------------------------- |
| 优点 | 1. 官方推荐,支持最好
2. 跨平台,安装过程一致
3. 方便管理多个工具链
4. 更新及时,容易获取最新版本 | 1. 集成到系统包管理,方便统一管理
2. 可能更符合某些用户的习惯 |
| 缺点 | 1. 需要额外安装 rustup | 1. 版本可能滞后,无法及时获取最新版本
2. 不同发行版安装命令不同
3. 工具链管理不便 |

用更直观的方式进行比较

安装方式灵活性:

  • rustup: 高度灵活。可以轻松安装和切换稳定版、beta 版、nightly 版,甚至自定义版本的 Rust 工具链。
  • 包管理器: 灵活性较低。通常只能安装发行版仓库中提供的版本,更新和切换版本受限于仓库。

版本更新:

  • rustup: 快速及时。能够第一时间获取 Rust 的最新版本和更新。
  • 包管理器: 可能滞后。Rust 新版本发布后,需要等待发行版仓库更新,时间不确定。

跨平台一致性:

  • rustup: 高度一致。在不同操作系统上,安装和管理 Rust 的方式基本相同。
  • 包管理器: 差异较大。不同发行版使用不同的包管理器,安装命令和配置方式各不相同。

工具链管理:

  • rustup: 强大便捷。可以轻松管理多个工具链,并针对不同项目设置不同的工具链。
  • 包管理器: 功能有限。通常只能安装一个版本的工具链,管理多个版本比较麻烦。

官方支持:

  • rustup: 官方推荐。Rust 团队主要维护和支持 rustup。
  • 包管理器: 非官方维护。由各个发行版的维护者提供,支持力度和及时性可能参差不齐。
    由分析可见,建议优先使用 rustup 安装和管理 Rust。

9. Rust生态与安装工具

  • Cargo: Rust 的包管理器和构建工具。Cargo 不仅可以管理项目依赖,还可以编译项目、运行测试、生成文档等。Cargo 是 Rust 开发中不可或缺的工具。
  • rustdoc: Rust 的文档生成工具。可以使用 rustdoc 从 Rust 代码中自动生成 API 文档。
  • Clippy: Rust 的静态代码分析工具。Clippy 可以检查代码中潜在的错误、不良风格和性能问题。
  • Rustfmt: Rust 的代码格式化工具。Rustfmt 可以自动格式化 Rust 代码,使其符合统一的代码风格。

这些工具都可以通过rustup安装和管理,并且能够自动保持更新。

10. 其他

本文详细介绍了使用 rustup 安装和管理 Rust 的方法。rustup 作为 Rust 官方推荐的工具,提供了便捷、灵活、跨平台的 Rust 安装和管理体验。希望读者通过阅读本文,能够顺利安装 Rust,并开始 Rust 编程之旅。随着对 Rust 的深入了解和使用,会逐渐发现 Rust 的强大之处,并体会到 Rust 带来的开发乐趣和效率提升。

THE END