Ubuntu 20.04/22.04 安装 Rust 教程

Ubuntu 20.04/22.04 安装 Rust 编程语言详解教程

Rust 是一门由 Mozilla 主导开发的系统编程语言,以其内存安全、高性能和并发性而闻名。它被设计用来构建可靠、高效的软件,尤其适用于开发操作系统、游戏引擎、Web 浏览器组件和分布式系统等底层应用。

本教程将详细指导您在 Ubuntu 20.04 或 Ubuntu 22.04 LTS 版本上安装 Rust 编程语言及其相关工具链。我们将涵盖多种安装方法,包括使用官方推荐的 rustup 工具、使用 Ubuntu 的包管理器 (APT),以及处理安装过程中可能遇到的问题。

1. 准备工作:系统更新与构建依赖

在开始安装 Rust 之前,强烈建议您先更新您的 Ubuntu 系统并安装必要的构建工具。这将确保您拥有最新的软件包和安全补丁,并避免在后续安装过程中出现依赖问题。

打开终端 (Terminal),通常可以通过快捷键 Ctrl + Alt + T 打开,然后执行以下命令:

bash
sudo apt update
sudo apt upgrade -y
sudo apt install -y build-essential curl file

  • sudo apt update: 更新本地软件包索引,获取最新的软件包信息。
  • sudo apt upgrade -y: 升级系统中所有已安装的软件包到最新版本。 -y 选项表示自动确认所有升级操作。
  • sudo apt install -y build-essential: 安装 build-essential 软件包。这是一个元软件包,它会自动安装一系列编译 C/C++ 程序所需的工具,例如 gccg++make 等。这些工具是编译 Rust 程序所必需的。
  • sudo apt install -y curl: 安装 curl 命令行工具。curl 用于从网络上下载数据,我们将使用它来下载 rustup 安装脚本。
  • sudo apt install -y file: 安装file, 它是rustup-init.sh 运行时依赖的库。

2. 使用 rustup 安装 Rust (官方推荐)

rustup 是 Rust 官方推荐的安装和管理 Rust 工具链的工具。它能够方便地安装、更新和切换不同版本的 Rust 编译器 (rustc)、标准库和 Cargo (Rust 的包管理器和构建工具)。

2.1 下载并运行 rustup 安装脚本

使用 curl 下载 rustup 安装脚本,并将其通过管道传递给 sh 执行:

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

这个命令做了以下几件事情:

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

    • --proto '=https': 强制 curl 使用 HTTPS 协议下载,确保下载过程的安全性。
    • --tlsv1.2: 强制使用 TLS 1.2 或更高版本的安全协议。
    • -sSf: 这些选项组合起来表示:
      • -s (silent): 静默模式,不显示进度条。
      • -S (show-error): 如果发生错误,显示错误信息。
      • -f (fail): 如果 HTTP 请求返回错误状态码 (例如 404 Not Found),则让 curl 命令失败。
    • https://sh.rustup.rs: rustup 安装脚本的 URL。
  2. | sh:

    • |: 管道操作符。它将前一个命令 (curl) 的标准输出 (stdout) 作为后一个命令 (sh) 的标准输入 (stdin)。
    • sh: Shell 解释器。这里使用 sh 执行从 curl 下载的安装脚本。

2.2 rustup 安装过程详解

执行上述命令后,您将看到一个交互式的安装界面。rustup 会询问您一些安装选项。通常,您可以直接按回车键接受默认选项。

以下是安装过程中可能出现的提示和选项的详细解释:

```
Welcome to Rust!

This will download and install the official compiler for the Rust
programming language, and its package manager, Cargo.

Rustup metadata and toolchains will be installed into the Rustup
home directory, located at:

/home/your_username/.rustup

This can be modified with the RUSTUP_HOME environment variable.

The Cargo home directory located at:

/home/your_username/.cargo

This can be modified with the CARGO_HOME environment variable.

The cargo, rustc, rustdoc, rustup and other commands will be added to
Cargo's bin directory, located at:

/home/your_username/.cargo/bin

This path will then be added to your PATH environment variable by
modifying the profile files located at:

/home/your_username/.profile
/home/your_username/.bashrc
/home/your_username/.zshenv # 如果您使用 Zsh

You can uninstall at any time with rustup self uninstall and
these changes will be reverted.

Current installation options:

default host triple: x86_64-unknown-linux-gnu
default toolchain: stable (default)
profile: default
modify PATH variable: yes

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation

```

  • Rustup home directory: rustup 的元数据和工具链的安装位置,通常位于 ~/.rustup。您可以通过设置 RUSTUP_HOME 环境变量来修改它。
  • Cargo home directory: Cargo 的主目录,包含已下载的包、构建缓存等,通常位于 ~/.cargo。您可以通过设置 CARGO_HOME 环境变量来修改它。
  • Cargo's bin directory: Cargo、rustc、rustdoc 等可执行文件的存放位置,通常位于 ~/.cargo/bin。这个路径会被添加到您的 PATH 环境变量中,以便您可以在任何位置直接运行这些命令。
  • default host triple: 默认的目标平台三元组。x86_64-unknown-linux-gnu 表示 64 位 x86 架构的 Linux 系统,使用 GNU 工具链。
  • default toolchain: 默认的 Rust 工具链。stable 表示稳定的 Rust 版本。您也可以选择 beta (测试版) 或 nightly (每夜构建版)。
  • profile: 安装的组件配置。default 表示安装 Rust 开发所需的标准组件,包括 rustccargorust-std (Rust 标准库) 等。 还有minimal (最小化安装) 和 complete (完整安装) 选项。
  • modify PATH variable: 是否修改 PATH 环境变量。选择 yes (默认) 会将 ~/.cargo/bin 添加到 PATH 中。

建议: 对于大多数用户来说,直接按回车键选择默认选项 (1. Proceed with installation) 即可。

2.3 使环境变量生效

安装完成后,rustup 会提示您需要使环境变量生效。通常,您可以通过以下两种方式之一来实现:

  1. 关闭并重新打开终端窗口。 这是最简单的方法。重新打开终端后,新的环境变量配置会自动加载。
  2. 手动 source 配置文件。 您可以执行以下命令来手动加载更新后的环境变量:

    bash
    source "$HOME/.cargo/env"

    或者针对bash
    bash
    source ~/.bashrc

    如果您使用 Zsh,则需要执行:
    source ~/.zshenv

2.4 验证 Rust 安装

安装完成后,您可以通过以下命令来验证 Rust 是否已正确安装以及版本信息:

bash
rustc --version
cargo --version

如果一切正常,您应该会看到类似以下的输出:

rustc 1.73.0 (cc66ad468 2023-10-03)
cargo 1.73.0 (4fb7b2b8e 2023-09-28)

这表明您已成功安装了 Rust 编译器和 Cargo。

2.5 更新 Rust

使用 rustup 安装 Rust 的一个主要好处是,您可以非常方便地更新 Rust 工具链。要更新到最新的稳定版本,只需执行:

bash
rustup update

rustup 会自动下载并安装最新版本的 Rust 编译器、标准库和 Cargo。

2.6 切换 Rust 工具链

rustup 允许您安装和管理多个 Rust 工具链 (例如 stablebetanightly),并在它们之间轻松切换。

  • 安装其他工具链:

    bash
    rustup toolchain install nightly # 安装 nightly 工具链
    rustup toolchain install beta # 安装 beta 工具链

  • 查看已安装的工具链:

    bash
    rustup toolchain list

  • 设置默认工具链:

    bash
    rustup default nightly # 设置 nightly 为默认工具链
    rustup default stable # 设置 stable 为默认工具链

  • 在特定项目中使用不同的工具链:

    您可以在项目的根目录下创建一个名为 rust-toolchain 的文件,并在其中指定要使用的工具链。例如,要在一个项目中使用 nightly 工具链,可以在 rust-toolchain 文件中写入以下内容:

    nightly

    当您在该项目目录下运行 cargo 命令时,它会自动使用 rust-toolchain 文件中指定的工具链。

3. 使用 Ubuntu 包管理器 (APT) 安装 Rust (不推荐)

虽然您也可以使用 Ubuntu 的包管理器 (APT) 来安装 Rust,但通常不推荐这种方法。因为 APT 仓库中的 Rust 版本可能比较旧,而且无法像 rustup 那样方便地管理和切换多个 Rust 版本。

如果您仍然希望使用 APT 安装 Rust,可以执行以下命令:

bash
sudo apt update
sudo apt install -y rustc cargo

安装完成后,同样可以通过 rustc --versioncargo --version 来验证安装。

注意: 通过 APT 安装的 Rust 可能无法使用 rustup 进行更新和管理。

4. Rust 开发环境配置 (可选)

为了获得更好的 Rust 开发体验,您可能还需要配置一些开发环境。

4.1 代码编辑器/IDE

您可以选择任何您喜欢的代码编辑器或集成开发环境 (IDE) 来编写 Rust 代码。以下是一些流行的选择:

  • Visual Studio Code (VS Code): 强烈推荐。VS Code 是一款免费、开源、跨平台的代码编辑器,拥有丰富的插件生态系统。安装 Rust 官方的 rust-analyzer 插件可以获得强大的代码补全、语法高亮、错误检查、重构等功能。
  • IntelliJ IDEA (Ultimate 或 Community Edition + Rust 插件): JetBrains 出品的强大 IDE,Rust 插件提供了类似于 rust-analyzer 的功能。
  • CLion: JetBrains 出品的 C/C++ IDE,也可以通过 Rust 插件支持 Rust 开发。
  • Sublime Text、Atom、Vim、Emacs 等: 这些编辑器也可以通过安装相应的 Rust 插件来支持 Rust 开发。

4.2 安装 rust-analyzer (VS Code)

如果您选择使用 VS Code,强烈建议您安装 rust-analyzer 插件。这是 Rust 官方维护的语言服务器,可以提供卓越的 Rust 开发支持。

  1. 打开 VS Code。
  2. 点击左侧的扩展图标 (或按 Ctrl+Shift+X)。
  3. 在搜索框中输入 "rust-analyzer"。
  4. 找到 "rust-analyzer" 插件,点击 "Install" 安装。
  5. 安装完成后,重新加载 VS Code (可能需要)。

4.3 安装 其他 常用工具

  • rustfmt: Rust 代码格式化工具。它可以自动格式化您的 Rust 代码,使其符合 Rust 社区的代码风格规范。

    bash
    rustup component add rustfmt

  • clippy: Rust 代码静态分析工具。它可以帮助您发现代码中潜在的错误、不良习惯和性能问题。

    bash
    rustup component add clippy

5. 编写并运行您的第一个 Rust 程序

现在,您已经成功安装了 Rust,并配置好了开发环境。让我们来编写并运行一个简单的 Rust 程序,以验证一切是否正常工作。

  1. 创建项目目录:

    bash
    mkdir hello_rust
    cd hello_rust

  2. 使用 Cargo 创建新项目:

    bash
    cargo new hello_world

    这会在 hello_rust 目录下创建一个名为 hello_world 的新项目。hello_world 目录包含以下内容:

    • Cargo.toml: 项目的配置文件,包含了项目的元数据、依赖项等信息。
    • src/: 源代码目录。
    • src/main.rs: 项目的入口文件,包含 main 函数。
  3. 编辑 src/main.rs 文件:

    打开 src/main.rs 文件,您会看到以下代码:

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

    这是一个经典的 "Hello, world!" 程序。fn main() 定义了程序的入口点,println! 是一个宏,用于将文本输出到控制台。

  4. 构建并运行程序:

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

    bash
    cargo run

    Cargo 会自动编译您的程序,并在完成后运行它。您应该会在控制台中看到以下输出:

    Compiling hello_world v0.1.0 (/path/to/hello_rust/hello_world)
    Finished dev [unoptimized + debuginfo] target(s) in 0.24s
    Running `target/debug/hello_world`
    Hello, world!

恭喜!您已经成功编写并运行了您的第一个 Rust 程序。

6. 常见问题及解决方法

在安装和使用 Rust 的过程中,您可能会遇到一些问题。以下是一些常见问题及其解决方法:

6.1 无法下载 rustup 安装脚本

如果您在执行 curl ... | sh 命令时遇到网络问题,无法下载 rustup 安装脚本,可以尝试以下方法:

  • 检查网络连接: 确保您的计算机已连接到互联网,并且网络连接稳定。
  • 使用代理: 如果您需要通过代理服务器访问互联网,可以在 curl 命令中添加 -x--proxy 选项来指定代理服务器的地址和端口。
  • 手动下载: 您可以尝试在浏览器中手动访问 https://sh.rustup.rs 下载安装脚本,然后使用 sh 命令执行它。
  • 使用国内镜像: 国内用户可以尝试使用国内的Rust 软件源, 加速下载.
    例如, 使用以下命令设置环境变量:

    bash
    export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
    export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
    curl --proto '=https' --tlsv1.2 -sSf https://mirrors.ustc.edu.cn/rust-static/rustup/rustup-init.sh | sh

    设置好环境变量后,再运行 rustup-init.sh 即可。

6.2 rustup 安装失败

如果在执行 rustup 安装脚本时遇到错误,可以尝试以下方法:

  • 查看错误信息: 仔细阅读 rustup 输出的错误信息,通常可以找到问题的线索。
  • 检查依赖项: 确保您已安装了所有必要的构建工具 (例如 build-essentialcurl)。
  • 重新运行安装脚本: 有时,由于网络问题或其他临时性问题,重新运行安装脚本可能会解决问题。
  • 查阅文档和社区: 您可以查阅 rustup 的官方文档或在 Rust 社区论坛中寻求帮助。

6.3 Cargo 命令无法找到

如果在安装完成后,您无法在终端中运行 cargo 命令,可能是因为 ~/.cargo/bin 目录没有被正确添加到您的 PATH 环境变量中。

  • 重新打开终端: 关闭并重新打开终端窗口,新的环境变量配置会自动加载。
  • 手动 source 配置文件: 执行 source "$HOME/.cargo/env"source ~/.bashrc (或 source ~/.zshenv) 来手动加载环境变量。
  • 检查配置文件: 检查您的 .bashrc.profile.zshenv 文件,确保其中包含类似以下内容的行:

    bash
    export PATH="$HOME/.cargo/bin:$PATH"

6.4 编译 Rust 程序时出错

如果在编译 Rust 程序时遇到错误,可以尝试以下方法:

  • 仔细阅读错误信息: Rust 编译器的错误信息通常非常详细,能够帮助您定位问题。
  • 检查代码: 仔细检查您的代码,确保没有语法错误或逻辑错误。
  • 使用 cargo check: cargo check 命令可以快速检查您的代码是否存在编译错误,而无需实际生成可执行文件。
  • 更新 Rust 工具链: 有时,旧版本的 Rust 工具链可能存在 bug,更新到最新版本可能会解决问题。
  • 查阅文档和社区: 您可以查阅 Rust 的官方文档、标准库文档或在 Rust 社区论坛中寻求帮助。

7. 总结

本教程详细介绍了在 Ubuntu 20.04/22.04 上安装 Rust 编程语言及其相关工具链的多种方法,并提供了详细的步骤说明、安装选项解释、环境变量配置、开发环境设置、示例程序以及常见问题解答。

通过本教程,您应该已经能够成功安装 Rust,并开始您的 Rust 编程之旅。Rust 是一门强大而富有表现力的语言,值得您深入学习和探索。祝您在 Rust 的世界中取得成功!

THE END