配置环境对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 | # 1. 直接指定默认的 crates-io 换成什么源 |
安装必备的系统组件
有几个组件是必装的,运行以下命令进行安装:
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 有很多独有的高级类型(比如 String、Vec、Option 以及带有变体的 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 | func main(){ |
如果要运行项目,在项目根目录下直接执行:
1 | cargo run |
它会完成编译并打印出 Hello, rust! 。
这样,Rust环境就搭建好了。