简介

早就听说 Rust 的大名, 近两年 Rust 发展的不错,从微软宣布要使用 Rust 来替代 C/C++ 重写 Windows 组件,到 Rust 进入 TIOBE 排名前20,越来越受到开发的关注。

Rust 的官网介绍其是一门赋予每个人构建可靠且高效软件能力的语言。它的特点是:运行快,防止段错误,保证线程安全。

语义化版本

Rust 编译器采用语义化版本号,格式为:主版本号.次版本号.修订号

主版本号

当做了不兼容的修改,主版本号增加。

次版本号

当做了向下兼容的功能性新增,次版本号增加。

修订号

当做了向下兼容的问题修正时,修订号增加。

多渠道发布

Rust 为了兼顾更新速度以及稳定性,采用了多渠道发布。

nightly 版本

nightly 版本时每天在主版本上创建出来的版本,这个渠道上功能最多,更新最快,存在的问题可能性也大。新功能会在这个渠道中先开启,供用户使用。

beta版本

beta 版本每隔一段时间,将在 nightly 渠道中验证过的功能开放给用户使用。

stable版本

stable 版本就是正式版本,每隔6个星期发布一个新版本,最稳定、可靠,保证向前兼容。

安装

通过 rustup 来安装 Rust ,它不仅是个安装工具,还是一个版本管理工具。

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

配置环境变量

装好了 Rust 之后,我们还需要把它添加到环境变量中,这样才能使用相关命令。它在 ~/.cargo/bin 中,这个目录还包含了 rustccargorustup 等工具链。

1
export PATH="$HOME/.cargo/bin:$PATH"

更新 Rust 和工具链

当我们使用一段时间后 Rust 发布了新版本,可以通过如下命令来升级到最新版本。

1
rustup update

更新 rustup 本身

除了 Rust 会发布新版本, rustup 也会发布新版本,同样的可以通过如下命令来升级到最新版本。

1
rustup self update

卸载 rust

当你哪天不想用了,可以通过如下命令来卸载。

1
rustup self uninstall

切换渠道

上面我们说过 Rust 有三个不同的渠道,我们可以在其中自由的切换,如下所示

1
2
3
4
# 安装 nightly 渠道
rustup install nightly
# 设置默认的渠道为 nightly
rustup default nightly

使用中科大镜像,加速访问

由于 Rust 的服务器位于国外,我们想要访问,特别的慢,体验非常不好,中科大提供了 Rust 的镜像,我们可以使用它来加速访问。

如果你使用 zsh 则把下面文件追加到 .zshrc 中,其它 SHELL 则放到对应的配置文件中。

1
2
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup

安装 RLS(Rust Language Server)

RLS 是用来增强编辑器的工具,可以做到代码提示、跳转到定义、显示函数签名等信息。可以极大的提高开发效率。

1
2
3
rustup component add rls --toolchain nightly
rustup component add rust-analysis --toolchain nightly
rustup component add rust-src --toolchain nightly

安装好 RLS 后就可以很方便的在 VSCODE 或者 Emacs 等其它编辑器中使用了。

Cargo: Rust的构建工具和包管理器

配置中科大镜像

安装好 Rust 之后,它的包管理工具 cargo 也是一并安装好了的。 Rust 第三方库也在国外,地址是 https://crates.io 。访问它同样比较慢,幸运的是中科大也提供了镜像,这样我们就可以用它来加速。

~/.cargo 下创建一个 config 的文件,把如下内容复制进去

1
2
3
4
5
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"

创建新项目

cargo 提供了创建项目的命令,我们可以通过它来帮我们创建好基本的项目结构

1
cargo new hello-rust

项目结构如下

1
2
3
4
5
6
hello-rust
├── Cargo.toml
└── src
    └── main.rs

1 directory, 2 files

其中 Cargo.toml 是第三方依赖的配置文件, src 下存放着源代码。

运行项目

当我们写好代码后,可以想要运行看下效果,可以通过如下命令。

1
cargo run

构建项目

当我们添加第三方库的时候,修改了 Cargo.toml 可以使用如下命令来更新依赖,构建项目。

1
cargo build

更多

如果你想要了解更多有关 cargo 的信息,可以查看 cargo doc - The Cargo Book