|
|
## 安装
|
|
|
|
|
|
[ch01-01-installation.md](https://github.com/rust-lang/book/blob/369386fefd1138cbdf50ae628bae1ffc4ffce669/src/ch01-01-installation.md)
|
|
|
|
|
|
第一步是安装 Rust。我们会通过 `rustup` 下载 Rust,这是一个管理 Rust 版本和相关工具的命令行工具。下载时需要联网。
|
|
|
|
|
|
> 注意:如果你出于某些理由倾向于不使用 `rustup`,请到 [Rust 的其他安装方法页面][otherinstall] 查看其它安装选项。
|
|
|
|
|
|
接下来的步骤会安装最新稳定版 Rust 编译器。Rust 的稳定性保证意味着,本书中所有能够编译的示例,在更新的 Rust 版本中也应继续能够编译。不同版本之间的输出可能略有差异,因为 Rust 经常会改进错误信息和警告。也就是说,按照这些步骤安装的任何较新的稳定版 Rust,都应该能正常配合本书内容使用。
|
|
|
|
|
|
> ### 命令行标记
|
|
|
>
|
|
|
> 本章和全书中,我们会展示一些在终端中使用的命令。所有需要输入到终端的行都以 `$` 开头。你不需要输入 `$` 字符;这里显示的 `$` 字符表示命令行提示符,仅用于提示每行命令的起点。不以 `$` 起始的行通常展示前一个命令的输出。另外,PowerShell 专用的示例会采用 `>` 而不是 `$`。
|
|
|
|
|
|
### 在 Linux 或 macOS 上安装 `rustup`
|
|
|
|
|
|
如果你使用 Linux 或 macOS,打开终端并输入如下命令:
|
|
|
|
|
|
```console
|
|
|
$ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
|
|
|
```
|
|
|
|
|
|
这条命令会下载一个脚本并启动 `rustup` 工具的安装,它会安装最新稳定版 Rust。过程中可能会提示你输入密码。如果安装成功,将会出现如下内容:
|
|
|
|
|
|
```text
|
|
|
Rust is installed now. Great!
|
|
|
```
|
|
|
|
|
|
另外,你还需要一个 *链接器(linker)*,它是 Rust 用来将编译输出连接成单个文件的程序。你很可能已经安装了它。如果遇到链接器错误,你应该安装一个 C 编译器,其中通常会包含链接器。C 编译器本身也很有用,因为一些常见的 Rust 包依赖 C 代码,因此需要 C 编译器。
|
|
|
|
|
|
在 macOS 上,你可以通过运行以下命令获得 C 语言编译器:
|
|
|
|
|
|
```console
|
|
|
$ xcode-select --install
|
|
|
```
|
|
|
|
|
|
Linux 用户通常应根据自己发行版(distribution)的文档安装 GCC 或 Clang。比如,如果你使用 Ubuntu,可以安装 `build-essential` 包。
|
|
|
|
|
|
### 在 Windows 上安装 `rustup`
|
|
|
|
|
|
在 Windows 上,前往 [https://www.rust-lang.org/tools/install][install] 并按照说明安装 Rust。在安装过程中的某一步,你会被提示安装 Visual Studio。它提供了链接器以及编译程序所需的本地库。如果你在这一步需要更多帮助,请访问 [https://rust-lang.github.io/rustup/installation/windows-msvc.html][msvc]。
|
|
|
|
|
|
本书的余下部分会使用能同时运行于 *cmd.exe* 和 PowerShell 的命令。如果存在特定差异,我们会解释使用哪一个。
|
|
|
|
|
|
### 故障排除(Troubleshooting)
|
|
|
|
|
|
要检查 Rust 是否安装正确,打开 shell 并输入:
|
|
|
|
|
|
```console
|
|
|
$ rustc --version
|
|
|
```
|
|
|
|
|
|
你应该会看到已发布的最新稳定版的版本号、commit hash 和 commit 日期,格式如下:
|
|
|
|
|
|
```text
|
|
|
rustc x.y.z (abcabcabc yyyy-mm-dd)
|
|
|
```
|
|
|
|
|
|
如果看到了这些信息,就说明 Rust 已经安装成功了!如果没有看到,请按下面的方法检查 Rust 是否在你的 `%PATH%` 系统变量中。
|
|
|
|
|
|
在 Windows CMD 中,请使用命令:
|
|
|
|
|
|
```console
|
|
|
> echo %PATH%
|
|
|
```
|
|
|
|
|
|
在 PowerShell 中,请使用命令:
|
|
|
|
|
|
```powershell
|
|
|
> echo $env:Path
|
|
|
```
|
|
|
|
|
|
在 Linux 和 macOS 中,请使用命令:
|
|
|
|
|
|
```console
|
|
|
$ echo $PATH
|
|
|
```
|
|
|
|
|
|
如果这些都没问题但 Rust 仍然无法使用,还有很多地方可以求助。你可以在[社区页面][community]查看如何联系其他 Rustaceans(Rust 用户对自己的一个戏称)。
|
|
|
|
|
|
## 更新与卸载
|
|
|
|
|
|
通过 `rustup` 安装 Rust 之后,更新到新发布的版本很简单。只需要在 shell 中运行下面的更新脚本:
|
|
|
|
|
|
```console
|
|
|
$ rustup update
|
|
|
```
|
|
|
|
|
|
若要卸载 Rust 和 `rustup`,请在 shell 中运行下面的卸载脚本:
|
|
|
|
|
|
```console
|
|
|
$ rustup self uninstall
|
|
|
```
|
|
|
|
|
|
### 本地文档
|
|
|
|
|
|
安装 Rust 时也会附带一份文档的本地副本,供你离线阅读。运行 `rustup doc` 即可在浏览器中打开本地文档。
|
|
|
|
|
|
任何时候,如果标准库提供了某个类型或函数,而你不确定它是做什么的或该如何使用,请查阅应用程序接口(application programming interface,API)文档!
|
|
|
|
|
|
|
|
|
### 文本编辑器和集成开发环境(Integrated Development Environments, IDE)
|
|
|
|
|
|
本书不假设你使用什么工具来编写 Rust 代码。几乎任何文本编辑器都能胜任!不过,许多文本编辑器和集成开发环境(IDE)都内置了对 Rust 的支持。你总是可以在 Rust 官网的[工具页面][tools]找到一个相对较新的常见编辑器和 IDE 列表。
|
|
|
|
|
|
### 离线使用本书
|
|
|
|
|
|
在一些示例中,我们会使用标准库之外的 Rust 包。要运行这些示例,你需要保持网络连接,或者提前下载好这些依赖。要预先下载依赖,可以运行以下命令。(稍后我们会详细解释 `cargo` 是什么,以及这些命令分别有什么作用。)
|
|
|
|
|
|
```console
|
|
|
$ cargo new get-dependencies
|
|
|
$ cd get-dependencies
|
|
|
$ cargo add rand@0.8.5 trpl@0.2.0
|
|
|
```
|
|
|
|
|
|
这会把这些包下载并缓存起来,因此之后你就不需要再次下载它们了。运行完这些命令后,你无需保留 `get-dependencies` 文件夹。只要你执行过这些命令,在本书后续所有的 `cargo` 命令中,都可以使用 `--offline` 参数来使用这些已缓存的版本,而不必尝试联网。
|
|
|
|
|
|
[otherinstall]: https://forge.rust-lang.org/infra/other-installation-methods.html
|
|
|
[install]: https://www.rust-lang.org/tools/install
|
|
|
[msvc]: https://rust-lang.github.io/rustup/installation/windows-msvc.html
|
|
|
[community]: https://www.rust-lang.org/community
|
|
|
[tools]: https://www.rust-lang.org/tools
|