一、下载Rustup
从官网下载 rustup-init.exe(其他平台同理),Rustup是一个Rust工具链管理工具。Rust平均每6周为一个构建周期,每次构建都会生成不同平台的版本。借助Rustup,我们可以在不同平台上使用相同的方式来管理这些构建的版本,并可以从 beta 和 nightly 版本渠道获取安装,且支持不同平台的交叉编译目标。
二、安装Rust
运行 rustup-init.exe 显示如下页面:
首先需要安装 c++ build工具
我本机没有安装,按照下载地址,下载安装后选择 Y 继续,显示如下界面
这里主要描述的信息是:
- 下面会下载并安装 Rust 的编译器和包管理器 Cargo
- 会将 Cargo,Rustc,Rustup 和其他的二进制命令安装到 Cargo的 bin 目录下 (C:\Users\Administrator.cargo\bin)
- Rustup 的 metadata和工具链将会被安装到 Rustup的主目录
- 这些路径将会被添加到系统的 PATH 变量
下面的安装给我们提供了三个选项,这里我们选在第二项 “Customize installation”
default host triple 修改为 x86_64-pc-windows-gnu (因为后面我们使用的调试器是GDB)
**default toolchain 我们选择 stable **(稳定版)
Profile 选择 default
是否修改 PATH 变量,选择 Y
再次确认,选择 1 , 开始下载并安装
安装完成后可以验证一下
三、Rustup配置文件 settings.toml (位于 C:\Users\Administrator.rustup 目录下)
该文件内为 Rust 运行的一些配置参数,我们前面在安装时遇到一些配置项,就可以在这里进行修改:
- default_host_triple: 第一次安装时设置,可以在该文件进行修改以改变默认值
- default_toolchain : 默认使用的 toolchain,可以使用命令 rustup default <toolchain name> 进行修改
TOML是前GitHub CEO, Tom Preston-Werner,于2013年创建的语言,其目标是成为一个小规模的易于使用的语义化配置文件格式。TOML被设计为可以无二义性的转换为一个哈希表(Hash table)。TOML是大小写敏感的,必须是UTF-8编码。
四、Rust常用命令
- rsutup show : 列出现在使用的和已安装的 rust 版本
- rustup update : 更新所有已安装版本
- rustup default: 设置将要使用的版本
- rustup component <sub> : 显示 (list) 、添加 (add)、删除 (remove) 组件
五、修改国内源
国内有些地区访问Rustup的服务器比较慢,可以配置中国科学技术大学(USTC)的 Rustup 镜像。
1、设置环境变量
- RUSTUP_DIST_SERVER : https://mirrors.ustc.edu.cn/rust-static
- RUSTUP_UPDATE_ROOT : https://mirrors.ustc.edu.cn/rust-static/rustup
2、设置cargo国内镜像
在CARGO_HOME目录下(windows 下默认是 C:\Users\Administrator.cargo)建立一个名为config的文件,内容如下:
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "http://mirrors.ustc.edu.cn/crates.io-index"
六、Cargo常用命令
Cargo 类似于 Python 中的 pip 或 Ruby 中的 RubyGems 或 Node.js 中的 NPM。作为 Rust 最常用的工具,Cargo 提供了对项目的管理,build,文档生成,发布等功能支持,还可以通过插件进行扩展。您可以参考 Cargo 的中文文档了解更多。Cargo常用的命令有如下几个:
- build 编译当前包
- check 检查当前包并寻出错误,但不进行编译
- clean 删除编译结果(即target文件夹)
- doc 构建当前包以及依赖项得文档
- new 新建一个crate
- init 以当前文件夹初始化一个crate
- run 编译并执行src/main.rs
- test 执行测试项
- bench 执行基准测试项
- update 更新所需的依赖项并预编译
- search 搜索crates
- publish 打包发布
- install 安装cargo相关可执行文件,默认路径为 $HOME/.cargo/bin
- uninstall 卸载相关可执行文件
七、开发依赖工具
1、Racer 代码补全
Racer 是 Rust 代码补全库,很多编辑器都需要安装它(IntelliJ IDEA Rust 已经默认包含了代码补全功能,但并非基于 Racer,而是基于自己实现的相关语言 AST)。Racer 安装命令如下:
1
2 1cargo install racer
2
注:如果 Racer 编译不成功,我们需要先升级到 nightly 版本,执行如下命令:
rustup default nightly
代码补全需要源代码,这里我们可以使用 Rustup 来下载,非常方便:
1
2 1rustup component add rust-src
2
之后需要配置环境变量:
RUST_SRC_PATH : C:\Users\Administrator.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\src\rust\src
2、RLS
RLS 是 Rust Language Server 的简写,微软提出编程语言服务器的概念,将 IDE 的一些编程语言相关的部分由单独的服务器来实现,比如代码补全,跳转定义,查看文档等。这样,不同的 IDE 或者编辑器只需要实现客户端接口就可以了。
RLS 是 Rust 官方提供的,目前只有 VS Code 支持,并且需要在系统中安装 nightly 版本的 Rust(不必启用)。所以安装前需要先安装 Rust 的 nightly 版本:
1
2 1rustup default nightly
2
RLS 的安装可参考 https://github.com/rust-lang/rls\#setup
注:RLS 的说明引自 《Rust编程之道》,中国工信出版集团
3、cargo 插件
- clippy
clippy可以分析你的源代码,检查代码中的Code Smell。可以通过 rustup 工具来安装:
1
2 1rustup component add clippy
2
- rustfmt
rustfmt 可以帮助我们统一代码风格,团队开发中推荐使用这款插件。可以通过 rustup 工具来安装:
1
2 1rustup component add rustfmt
2
- cargo fix
cargo fix 可以帮助我们自动修复编译器中有警告的代码。从 1.29 版本开始, cargo 自带 cargo fix 。