Rust环境搭建
Alexander Hou

配置环境对Arch Linux用户来说简直是轻车熟路。不过在安装Rust时有一个关键的选择:不要使用 Arch 官方仓库的 pacman -S rust

为了后续开发的灵活性(比如切换 stable/nightly 版本、交叉编译、组件管理),业界标准是使用 rustup(Rust 的版本管理器,类似于 Node.js 的 nvm 或 Python 的 pyenv)。

安装基础工具链

打开终端,直接使用官方推荐的脚本安装 rustup

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

脚本运行后,会提示选择安装方式,直接输入 1(Proceed with standard installation) 回车即可。它会自动下载最新的 Stable(稳定版)编译器 rustc、包管理器 cargo 以及标准库。

安装完成后,工具链会位于 ~/.cargo/bin。你需要让当前终端生效(或者重启终端):

1
source "$HOME/.cargo/env"

验证安装

验证一下三大核心组件是否就位:

  • 编译器:

  • 1
    rustc --version
  • 包管理器与构建工具:

  • 1
    cargo --version
  • 版本管理器:

  • 1
    rustup --version

配置国内镜像源

在 Arch 下,为了让 cargo fetch 下载依赖库(Crates)时起飞,建议配置国内镜像源。执行以下操作:

1
vim ~/.cargo/config.toml 

写入以下代码:

1
2
3
4
5
6
7
# 1. 直接指定默认的 crates-io 换成什么源
[source.crates-io]
replace-with = 'sjtu-sparse' # 明确指向下面定义的高校稀疏源

# 2. 定义上海交大的稀疏协议源
[source.sjtu-sparse]
registry = "sparse+https://mirrors.sjtug.sjtu.edu.cn/crates.io-index/"

安装必备的系统组件

有几个组件是必装的,运行以下命令进行安装:

1
rustup component add rust-analyzer rust-src llvm-tools

在VS code中搭建Rust开发环境

打开 VS Code,直接在扩展市场(Marketplace)中搜索安装:Rust-Analyzer。

对于代码调试,我的做法是直接在终端用 GDB 来调试 Rust 编译出来的二进制文件。因为 Rust 和 C 语言一样,都是直接编译成原生机器码的系统级语言,并且同样使用 DWARF格式来存储调试符号。虽然普通的 gdb 就能直接加载 Rust 程序,但由于 Rust 有很多独有的高级类型(比如 StringVecOption 以及带有变体的 Enum),原生的 GDB 在打印(print)这些变量时,只会把它当作一堆凌乱的 C 结构体和裸指针打印出来,非常痛苦。为了解决这个问题,Rust 官方提供了一个名为 rust-gdb 的包装脚本。它本质上就是调用你系统里的 gdb,但自动加载了一套 Python 脚本(Pretty-printers)。这套脚本能把 Rust 独有的复杂数据结构,在终端里还原成人类可读的 Rust 语法格式。开发者不需要单独安装它,通过 rustup 安装好环境后,它已经躺在你的终端里了:

1
rust-gdb --version

使用rust-gdb调试手法和gdb几乎一模一样。

第一个 Rust 项目

不用手工去写 Makefile 或者 CMakeLists.txt,Rust 用 cargo 搞定一切。

运行以下命令创建项目:

1
cargo new hello_linux --bin
1
cd hello_linux

cargo 会自动帮你初始化一个 Git 仓库,并生成如下目录结构:

  • Cargo.toml:项目元数据和依赖管理(类似于 CMakeLists.txt 或 package.json)。
  • src/main.rs:源代码入口。

现在,向src/main.rs写入以下代码:

1
2
3
func main(){
println!("Hello, rust!");
}

如果要运行项目,在项目根目录下直接执行:

1
cargo run

它会完成编译并打印出 Hello, rust!

这样,Rust环境就搭建好了。