前言
初学 Rust,在第一步配置环境上就踩了好多坑 😂 故分享出来……(方便大家第一时间赶到现场嘲笑)
安装
配置环境
基于 Win10,主要开发环境有两种选择:
- Windows + Rust
- WSL2 + Rust
至于为什么不是 WSL1,因为截至目前,WS1 配置 Rust 环境时会出现一些 bug
配置 Rust
Win10 安装 Rust
这里还是有多种选择:
- 基于 MSVC 安装
- 基于 GNU 安装
MSVC 是官方推荐的安装方式,但是需要安装 Visual C++ Build Tools,一通操作就是好几个 GB,所以目前选择了较为轻便的 GNU 工具链作为后端。
对于 GNU 工具链,我选择的是 mingw-w64,关于配置这个的更多信息请参考这篇文章。
配置好 mingw-w64 之后,就可以正式安装了,首先去官网下载安装包,然后进入 Power shell:
# 临时镜像加速,下载慢的话可能需要设置这个
$env:RUSTUP_DIST_SERVER='https://mirrors.ustc.edu.cn/rust-static'
$env:RUSTUP_UPDATE_ROOT='https://mirrors.ustc.edu.cn/rust-static/rustup'
# 运行刚刚下载的安装工具
path_to_your\rustup-init.exe
如果没有安装 MSVC 工具链,打开之后可能会出现如下提示,键入 y 继续:
继续之后,键入 2 自定义安装方式,输入 x86_64-pc-windows-gnu
以使用 GNU 工具链安装,其余项目可以直接跳过:
最后键入 1 等待完成安装。
WSL 安装 Rust
关于如何配置 WSL,不在赘述,可以参考官方文档。
具体安装步骤基本和 Win10 一致:
# 设置临时镜像加速
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
# 如果在 WSL1 环境下,可能需要设置这个
export RUSTUP_IO_THREADS=1
# 官网提供的安装命令
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
下载好安装包之后,直接键入 1 等待完成安装:
最后配置 $PATH
:
# 添加到path
source $HOME/.cargo/env
# 我使用的是 fish 需要特别设置
set -U fish_user_paths ~/.cargo/bin $fish_user_paths
更改镜像源
在 ~/.cargo/config
添加如下内容:
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
# 替换成任一镜像源
replace-with = 'ustc'
# replace-with = 'tuna'
# replace-with = 'sjtu'
# replace-with = 'rustcc'
# 中国科学技术大学
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
# 清华大学
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
# 上海交通大学
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"
# rustcc社区
[source.rustcc]
registry = "git://crates.rustcc.cn/crates.io-index"
需要注意的是,尽量不要直接修改 ~/.cargo/config
文件,可能会因为换行符导致 cargo 无法读取……可以使用如下命令导入:
- 使用 Power Shell(Win10、Ubuntu……):
@"
# 这里粘贴你的配置文件
[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"
"@ | Out-File ~/.cargo/config
- 使用 bash 或 fish:
cat >> ~/.cargo/config
# 这里粘贴你的配置文件
[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"
# 键入 Ctrl+D 结束
配置 VS Code
首先要安装 Rust 扩展,调试的话有多种选择:
- 使用 GDB 进行调试:Native Debug,C/C++ 扩展等
- 使用 LLDB 进行调试:Native Debug,CodeLLDB 扩展等
建议使用 CodeLLDB 进行调试,因为截至目前为止,只有 CodeLLDB 对 Rust 做了特别的适配,可以根据 Cargo.toml 自动生成相关的调试配置。
测试
新建个项目看下效果:
注意:第一次打开 .rs 文件时,VS Code 右下角可能会提示安装工具链,确认安装就行了,这一步最好已配置好国内源,不然会慢死……
然后 运行 → 打开配置 CodeLLDB 会检测到 Cargo.toml 文件,自动生成 launch.json 配置,加点儿代码,放个断点,最后 F5 调试,大功告成!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。