系列: Rust 精进之路:构建可靠、高效软件的底层逻辑 (第 2 篇 / 共 48 篇)
**作者:**码觉客
发布日期: 2025-04-20
在上一篇文章中,我们一起探索了 Rust 诞生的缘由,理解了它为何能承诺给我们一个既安全又高性能的编程世界。相信你已经对 Rust 的潜力充满了期待,迫不及待想要亲手敲下第一行 Rust 代码了吧?
别急,正所谓“磨刀不误砍柴工”。在正式开始我们的 Rust 编程之旅前,我们需要先准备好一套称手的“兵器”——也就是安装 Rust 开发环境,并配置好能让我们事半功倍的编辑器。这一步至关重要,一个顺畅的开发环境能极大提升我们学习和开发的幸福感。
这篇文章,就是你的“新手装备指南”。我们将手把手带你完成 Rust 的安装,推荐并配置一个强大的代码编辑器,然后创建并运行你的第一个 Rust 程序——经典的 “Hello, world!”。更重要的是,我们还会认识 Rust 生态系统的“大管家”——Cargo,它是你未来项目中不可或缺的得力助手。
准备好了吗?让我们一起动手,为探索 Rust 的奇妙世界打下坚实的基础!
rustup
安装 Rust 的方式有很多种,但官方强烈推荐使用 rustup
这个工具。把它想象成你的 Rust “武器库管理员”,它不仅能帮你轻松安装 Rust 编译器 (rustc
)、包管理器 (cargo
)、标准库等核心组件,还能让你方便地管理不同的 Rust 版本(比如稳定版、测试版、开发版),以及安装额外的工具链组件(比如用于交叉编译的目标平台支持)。
为什么一定要用 rustup
?
clippy
代码检查器、rustfmt
格式化工具)。安装步骤:
打开你的终端(Terminal)或命令提示符(Command Prompt)。
访问 Rust 官方网站的安装页面: https://www.rust-lang.org/tools/install
复制并执行页面上提供的安装命令。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
.exe
下载链接,下载后运行即可。安装过程中,通常会推荐你安装 Visual Studio C++ build tools,这是编译 Rust 代码所必需的,请按照提示进行安装。按照安装程序的提示进行操作。 通常直接选择默认选项(选项 1)即可。安装程序会自动配置好你的系统环境变量(PATH)。
安装完成后,根据提示重新打开一个新的终端窗口,或者运行提示中的命令来使环境变量生效。
验证安装: 在新的终端窗口中输入以下命令:
rustc --version
cargo --version
如果能看到类似 rustc x.y.z (hash date)
和 cargo x.y.z (hash date)
的输出(版本号可能不同),如下图所示,那么恭喜你,Rust 环境已经成功安装!
小提示:
rustup
会默认安装 stable(稳定)版本的 Rust。对于学习和大多数开发来说,稳定版是最佳选择。rustup update
即可。有了 Rust 工具链,我们还需要一个强大的代码编辑器来提升编码体验。虽然理论上你可以用任何文本编辑器写 Rust 代码,但一个配置了良好 Rust 支持的现代编辑器能提供语法高亮、代码补全、实时错误检查、代码跳转、重构等诸多便利功能,极大提高你的开发效率和代码质量。
目前,Visual Studio Code (VS Code) 配合 rust-analyzer
扩展是 Rust 社区最流行、也是官方推荐的组合。
为什么推荐这个组合?
rust-analyzer
: 由 Rust 官方团队维护,提供极其快速和准确的代码分析、补全、错误提示、类型推断显示、代码跳转、重构支持等。它能让你在写代码的时候就感受到 Rust 编译器的“实时反馈”。配置步骤:
rust-analyzer
扩展:
rust-analyzer
。rust-analyzer
扩展 (通常是第一个,发布者显示为 rust-lang
)。安装完成后,rust-analyzer
会在后台自动工作。当你打开 Rust 项目(.rs
文件)时,它就会开始分析代码,并提供各种智能提示。你马上就能体验到它的强大之处!
注意: 如果你之前安装过其他的 Rust 扩展(比如旧的 RustyCode
),建议禁用或卸载它们,以避免冲突。
装备齐全,是时候建造我们的第一个“作品”了!在 Rust 的世界里,我们不推荐直接创建一个孤零零的 .rs
文件然后用 rustc
手动编译。标准的做法是使用 Rust 的构建系统和包管理器——Cargo 来创建和管理项目。
Cargo 是什么? 把它想象成你项目的“总工程师”兼“后勤部长”。它负责:
rustc
编译器将你的源代码编译成可执行文件或库。总之,Cargo 是 Rust 开发体验的核心部分,它极大地简化了项目的构建、管理和协作。
创建你的第一个项目:
打开终端。
cd
到你希望存放代码的目录下。
运行以下命令来创建一个名为 hello_rust
的新项目:
cargo new hello_rust
Cargo 会自动为你生成一个目录结构:
hello_rust/
├── Cargo.toml # 项目的配置文件(清单文件)
└── src/ # 源代码目录
└── main.rs # 主程序入口文件
Cargo.toml
: 这是 Cargo 的清单 (Manifest) 文件,采用 TOML 格式。它包含了项目的元数据(如项目名称、版本、作者)和依赖列表。现在你可以打开看看,内容很简单,后面我们会详细了解它。把它想象成项目的“身份证”和“配方单”。src/main.rs
: 这是项目的源代码根文件。对于一个可执行程序(像我们这个),main.rs
是程序的入口点。进入项目目录:
cd hello_rust
用 VS Code 打开这个项目:
在终端里输入 code .
(注意有个点,表示当前目录) 并回车,VS Code 就会打开 hello_rust
这个文件夹。
查看 src/main.rs
文件:
打开 src/main.rs
,你会看到 Cargo 已经为我们生成了经典的代码:
// main 函数是每个可执行 Rust 程序的入口点
fn main() {
// println! 是一个宏 (macro),用于将文本打印到控制台
// 注意有个感叹号 "!",这表明它是一个宏调用,而不是普通的函数调用
// 我们后面会详细学习宏
println!("Hello, world!");
}
是不是很简单?fn main()
定义了一个名为 main
的函数,它是程序的起点。println!("Hello, world!");
这行代码调用了 println!
宏,把字符串 “Hello, world!” 输出到屏幕上。
运行你的第一个程序:
现在,激动人心的时刻到了!我们有三种常用的方式来编译和运行这个程序,都在终端的 hello_rust
目录下执行:
cargo build
:只编译,不运行
cargo build
Cargo 会调用 rustc
编译器,将 src/main.rs
编译成可执行文件。
target
目录。编译产物默认放在 target/debug/
目录下(因为是调试构建)。你可以找到一个名为 hello_rust
(或 hello_rust.exe
在 Windows 上) 的可执行文件。./target/debug/hello_rust
,在 Windows 上是 .\target\debug\hello_rust.exe
。你会看到输出 “Hello, world!”。cargo build
适合只需要编译检查或者想手动运行产物的场景。cargo run
:编译并立即运行
cargo run
这是开发中最常用的命令。它会先执行 cargo build
的过程(如果代码有改动或尚未编译),然后立即运行生成的可执行文件。你会直接在终端看到 “Hello, world!” 的输出。一步到位,非常方便。
cargo check
:快速检查代码,不生成可执行文件
cargo check
这个命令非常有用!它会快速检查你的代码,确保它能够通过编译器的语法和类型检查,但它不会花费时间去实际生成可执行文件。
cargo build
或 cargo run
快得多!cargo check
来快速验证代码的正确性,获得即时反馈,就像代码的“拼写检查”一样。恭喜你!你已经成功安装了 Rust 环境,配置了编辑器,并使用 Cargo 创建、编译、运行了你的第一个 Rust 程序!
我们今天只是简单接触了 cargo new
, build
, run
, check
这几个基本命令,但这仅仅是 Cargo 强大功能的冰山一角。在后续的学习中,我们会逐渐解锁 Cargo 的更多技能,比如:
dependencies
)cargo test
)cargo doc
)cargo build --release
)cargo publish
)可以说,掌握 Cargo 是成为一名合格 Rust 开发者的必经之路。
rustup
,直接去官网下载安装包吗?
rustup
提供了无缝的版本管理和组件管理能力,这对于长期开发和跟进 Rust 的快速迭代至关重要。使用 rustup
是社区的最佳实践。rust-analyzer
集成或类似的代码分析能力。cargo build
和 cargo run
有什么本质区别?
cargo build
只负责编译源代码生成目标文件(比如可执行文件),然后就结束了。cargo run
则是在 build
的基础上,额外帮你把生成的可执行文件运行起来。你可以认为 cargo run = cargo build + run a.out
(简化理解)。println!
后面有个感叹号 !
?
println!
是一个非常常用的宏,用于输出信息到控制台。我们后面会有专门的章节深入学习宏,现在你只需要知道带 !
的通常是宏调用,用法和函数类似即可。今天,我们完成了从零开始搭建 Rust 开发环境的整个过程:
rustup
安装了 Rust 工具链。rust-analyzer
,为高效编码做好了准备。cargo new
创建了标准的 Rust 项目结构。build
, run
, check
三个核心命令。这看似简单的一步,其实是你 Rust 学习旅程中至关重要的基础。一个顺畅的开发环境和对核心工具的基本了解,将为后续更深入的学习扫清障碍。
现在,你的“装备”已经准备就绪,基本的“操作”也已熟悉。在下一篇文章中,我们将正式开始学习 Rust 的核心语法:变量、数据类型以及它们在 Rust 中独特的“哲学”——可变性与遮蔽。准备好迎接更多有趣的知识吧!
继续前进,探索 Rust 的无限可能!