让我们开始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.exePowerShell中使用。如果针对某个场景会有不同,我们会在书中明确指出。

更新和卸载

当你通过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 forumStack Overflow获取帮助。

本地文档

安装包包含了一份本地文档的拷贝,这样你可以在安装后离线阅读文档。运行rustup doc可以在游览器中打开文档进行游览。
在任何时候,如果你不知道如何使用标准库提供的类型或者函数,都可以通过API文档找出对应的使用说明。


座大山
83 声望15 粉丝