安装

第一步是安装 Rust。我们将通过 rustup 下载 Rust,这是一个用于管理 Rust 版本和相关工具的命令行工具。下载需要互联网连接。

注意:如果出于某种原因,你不想使用 rustup,请参阅 其他 Rust 安装方法页面,以获取更多选项。

以下步骤将安装 Rust 编译器的最新稳定版本。Rust 的稳定性保证了书中所有能编译的示例,在更新的 Rust 版本上也能继续编译。不同版本之间的输出可能略有不同,因为 Rust 通常会改进错误消息和警告。换句话说,你使用这些步骤安装的任何更新的稳定版 Rust 都应与本书内容预期一致。

命令行约定

在本章和本书中,我们将展示一些在终端中使用的命令。你应该在终端中输入的行都以 $ 开头。你不需要输入 $ 字符;它是命令行的提示符,用于指示每个命令的开始。不以 $ 开头的行通常显示前一个命令的输出。此外,PowerShell 特定的示例将使用 > 而不是 $

在 Linux 或 macOS 上安装 rustup

如果你使用的是 Linux 或 macOS,打开终端并输入以下命令

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

该命令会下载一个脚本并开始安装 rustup 工具,rustup 工具会安装 Rust 的最新稳定版本。你可能会被要求输入密码。如果安装成功,将出现以下行

Rust is installed now. Great!

你还需要一个 链接器,这是一个 Rust 用于将其编译输出连接成一个文件的程序。你很可能已经安装了链接器。如果遇到链接器错误,你应该安装一个 C 编译器,它通常包含链接器。C 编译器也很有用,因为一些常见的 Rust 包依赖于 C 代码,需要 C 编译器。

在 macOS 上,你可以通过运行以下命令来获取 C 编译器

$ xcode-select --install

Linux 用户通常应根据其发行版的文档安装 GCC 或 Clang。例如,如果你使用 Ubuntu,可以安装 build-essential 包。

在 Windows 上安装 rustup

在 Windows 上,前往 https://rust-lang.net.cn/tools/install 并按照说明安装 Rust。在安装过程中的某个时刻,系统会提示你安装 Visual Studio。这提供了编译程序所需的链接器和本地库。如果你需要更多关于此步骤的帮助,请参阅 https://rust-lang.github.io/rustup/installation/windows-msvc.html

本书的其余部分使用的命令在 cmd.exe 和 PowerShell 中都适用。如果存在特定差异,我们将说明应该使用哪一个。

故障排除

要检查 Rust 是否正确安装,打开 shell 并输入这一行

$ rustc --version

你应该看到已发布的最新稳定版本的版本号、提交哈希和提交日期,格式如下

rustc x.y.z (abcabcabc yyyy-mm-dd)

如果你看到这些信息,说明你已经成功安装了 Rust!如果你没有看到这些信息,请按照以下方式检查 Rust 是否在你的 %PATH% 系统变量中。

在 Windows CMD 中,使用

> echo %PATH%

在 PowerShell 中,使用

> echo $env:Path

在 Linux 和 macOS 中,使用

$ echo $PATH

如果一切都正确但 Rust 仍然无法工作,有很多地方可以获得帮助。访问 社区页面,了解如何与其他 Rustaceans(我们自称的有趣昵称)取得联系。

更新和卸载

一旦通过 rustup 安装了 Rust,更新到新发布的版本就很容易了。在你的 shell 中,运行以下更新脚本

$ rustup update

要卸载 Rust 和 rustup,在你的 shell 中运行以下卸载脚本

$ rustup self uninstall

本地文档

安装 Rust 时也会包含一份本地文档副本,以便你可以在离线时阅读。运行 rustup doc 可以在浏览器中打开本地文档。

任何时候,如果标准库提供了某个类型或函数,而你不确定它的作用或如何使用,可以使用应用程序编程接口(API)文档来查找!

文本编辑器和集成开发环境

本书对你用于编写 Rust 代码的工具没有任何假设。几乎任何文本编辑器都可以完成这项工作!然而,许多文本编辑器和集成开发环境(IDE)都内置了对 Rust 的支持。你随时可以在 Rust 官网的 工具页面 上找到一份相当新的各种编辑器和 IDE 列表。

离线使用本书

在一些示例中,我们将使用标准库之外的 Rust 包。要完成这些示例,你需要有互联网连接或提前下载这些依赖项。要提前下载依赖项,可以运行以下命令。(我们稍后会详细解释 cargo 是什么以及这些命令的作用。)

$ cargo new get-dependencies
$ cd get-dependencies
$ cargo add rand@0.8.5 trpl@0.2.0

这将缓存这些包的下载,因此你以后无需再次下载。运行此命令后,你无需保留 get-dependencies 文件夹。如果你已运行此命令,则可以在本书其余部分的所有 cargo 命令中使用 --offline 标志来使用这些缓存版本,而不是尝试使用网络。