让我们开始Rust的学习之旅!有很多东西需要学习, 但是正如每个旅程都会从某个地方开始。在本章中,我们会讨论:
- 在Linux,macOS,Windows中安装Rust
- 编写一个输出
Hello, world!
的程序 - 使用
cargo
,进行Rust的包管理和系统编译
安装
第一步:安装Rust。我们从rustup
--一个用于管理Rust版本和关联工具的命令行工具--下载Rust。你需要连接网络以便进行下载。
注意:如果你因为各种原因选择不通过rustup
的方式,那么请到Rust官网查看其他方式。
接下去的步骤会介绍如何安装最新文档稳步版本的Rust编译器。Rust的稳定性确保了本书中所有的示例都能够在最新版本的Rust中编译通过。由于Rust经常会提升错误信息和警告信息的输出体验,每个版本的编辑结果的输出可能会有轻微不同。换句话说,任何你安装的更新的,稳定版本的Rust,对于本书的示例都会有符合预期的输出。
命令行标记
在本章节或者在全书的各个地方,我们会展示一些在终端使用的命令。在命令行中展示的内容行都会以$
开头。你不需要手动输入$
符号,它仅仅表示每个命令行的开始。那些不以$
开始的内容行,则表示的是前一个命令的输出。另外,特殊的PowerShell示例则会用>
而不是$
在Linux和macOS上安装rustup
如果你使用Linux或者macOS系统,那么请打开终端并输入如下命令
curl https://sh.rustup.rs -sSf | sh
该命令会下载一段脚本并开始`rustup 这个工具最新版本的安装过程。安装过程中可能会出现要求你输入密码的提示。如果安装成功,将会出现以下内容:
Rust is installed now. Great!
如果你愿意,你可以在下载脚本并在运行它之前先检查下脚本内容。
整个安装过程会在你下次登录时,自动将Rust添加到你的系统变量PATH里。如果你希望可以不需要重新启动终端,直接开始使用Rust,请在终端中运行如下命令以添加Rust到你的系统变量里:
source $HOME/.cargo/env
或者,添加以下内容到你到 ~/.bash_profile中:
export PATH="$HOME/.cargo/bin:$PATH"
除此之外,你需要某种链接器。很可能你的系统已经安装了链接器,不过,如果当你试图编译一个Rust程序出错,并且提示你说链接器没有执行,那就是说你的系统并没有安装链接器,你需要手动安装他。
C语言的编译器通常会带有正确的链接器。你可以查看你系统的文档来了解如何安装C的编译器。当然,
一些通用的Rust包依赖于C语言代码且往往需要一个C的编译器。因此,你可以现在就安装它。
在Windows上安装rustup
在windows中,打开https://www.rust-lang.org/too...,按照按照指引进行安装。在安装过程中,你会收到一条消息提示你说你需要安装Visual Studio 2013或更新版本的C++构建工具。最简单的获取该构建工具的方法是安装Build Tools for Visual Studio 2017, 该工具可以在网页中其他工具和框架
中获取。
本书的剩余部分所展示的命令都能在cmd.exe
和PowerShell
中使用。如果针对某个场景会有不同,我们会在书中明确指出。
更新和卸载
当你通过rustup
安装Rust之后,就可以很容易进行Rust的版本更新。打开你的终端,运行如下命令:
rustup update
卸载Rust和rustup
, 请在你的终端中运行以下卸载脚本
rustup self uninstall
常见问题
打开终端并输入如下命令检查你是否正确安装了Rust
rustc --version
之后,你应该会看到输出带有最新稳定版本的版本号,提交hash值,提交日期,格式如下:
rustc x.y.x (abcabcabc yyyy-mm-dd)
如果你看到信息,就说明你已经成功安装了Rust。如果你没有看到此信息,Windows环境下,请检查Rust是否在你的%PATH%
系统变量中。如果所有步骤都没有问题,但是Rust依然不能正常工作,你可以在很多地方获取帮助。最简单的方式是通过Mibbit访问the #rust IRC channel on irc.mozilla.org 。 在这个地方,你可以通过和其他Rustaceans(我们对于自己的一种戏称)聊天获取帮助。你还可以从the Users forum和Stack Overflow获取帮助。
本地文档
安装包包含了一份本地文档的拷贝,这样你可以在安装后离线阅读文档。运行rustup doc
可以在游览器中打开文档进行游览。
在任何时候,如果你不知道如何使用标准库提供的类型或者函数,都可以通过API文档找出对应的使用说明。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。