安装
第一步是安装 Rust。我们将通过 rustup 下载 Rust。rustup 是用于管理 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 工具;该工具会安装最新稳定版 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://www.rust-lang.org/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 仍然无法正常工作,你可以通过多种渠道获取帮助。请访问社区页面,了解如何联系其他 Rustacean(这是我们给自己起的一个有趣昵称)。
更新与卸载
通过 rustup 安装 Rust 后,更新到新发布的版本很简单。在 shell 中运行以下更新命令:
$ rustup update
要卸载 Rust 和 rustup,请在 shell 中运行以下卸载命令:
$ rustup self uninstall
阅读本地文档
Rust 安装包还包含一份本地文档副本,方便你离线阅读。运行 rustup doc 即可在浏览器中打开本地文档。
如果你不确定标准库提供的某个类型或函数有什么作用、该如何使用,可以查阅应用程序编程接口(API)文档!
使用文本编辑器和 IDE
本书不限定你使用什么工具编写 Rust 代码。几乎任何文本编辑器都能胜任!此外,许多文本编辑器和集成开发环境(IDE)都内置了 Rust 支持。你可以随时在 Rust 官网的工具页面找到一份较新的编辑器和 IDE 列表。
离线阅读本书
本书的几个示例会使用标准库之外的 Rust 包。要运行这些示例,你需要连接互联网,或者提前下载好这些依赖。若要提前下载依赖,可以运行以下命令。(稍后我们会详细介绍 cargo 以及这些命令的作用。)
$ cargo new get-dependencies
$ cd get-dependencies
$ cargo add rand@0.10.1 trpl@0.2.0
这会缓存这些包的下载内容,因此之后无需再次下载。运行此命令后,你不必保留 get-dependencies 文件夹。如果已经运行过该命令,在本书后续内容中可以为所有 cargo 命令添加 --offline 标志,以使用缓存版本,而不尝试访问网络。