Rust 安装与配置指南
前言
在当今的编程世界中,Rust 以其卓越的性能、内存安全性和现代化的语言特性,迅速成为了开发者们的新宠。无论是系统编程、Web 开发,还是嵌入式领域,Rust 都能以其独特的优势脱颖而出。然而,对于许多初学者来说,Rust 的安装与配置可能会成为入门的第一道门槛。
本博客旨在为 Rust 新手提供一份详细的安装与配置指南,帮助你从零开始快速搭建 Rust 开发环境。无论你是刚刚接触 Rust,还是已经对编程有一定经验,这篇文章都将为你提供清晰的步骤和实用的建议,让你在 Rust 的世界中顺利启航。
安装
rust 的安装需要以来一个工具 rustup
,类似 node 的 nvm。安装 rustup 只需要一行代码
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
## 没有 curl 命令先装一下
brew install curl
rustup 官网也很简洁
安装完成之后,关闭控制台,再打开就。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
info: downloading installer
期间遇到,卡住了,可以设置一个代理,再运行
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
期间,选择安装模式,选 1 默认模式就行
常用命令
rustup update
:来更新Rust
版本rustup self uninstall
: 卸载rustup
及Rust
工具链rustc --version
:检查Rust
是否被正确安装如果一切正常,在命令输出就会看到格式为「最新稳定版本的版本号」、「当前版本的hash」、「版本的提交日期」
rustc 1.85.0 (4d91de4e4 2025-02-17)
rustup doc
: 在浏览器中打开在安装工具再执行过程中在本地生成的「离线文档」
Hello world 工程
创建一个文件夹
mkdir rust-project
cd rust-project
编写并运行Rust程序
创建一个名为main.rs
的「源文件」。在命令规则上,Rust
文件总是以.rs
扩展名结尾。
fn main() {
println!("Hello world");
}
然后保存文件并回到「终端窗口」。在macOS
环境下,可以通过如下的命令「编译并运行」对应的文件。
rustc main.rs
./main
输出为:Hello world
编译和运行是两个不同的步骤
在运行一段Rust
程序之前,必须输入rustc
命令及附带的源文件名参数来「编译」它:
rustc main.rs
这过程和C/C++
的gcc
或clang
编译非常相似。「一旦编译成功,就会获得一个二进制的可执行文件」。
上面的步骤,其实和我们平时使用js
是不一样的。js
是「动态语言」,在编译之后就会立即运行。
❝**「而`Rust`是一种预编译语言」**,这意味着当你编译完
Rust
程序之后,便可以将可执行文件交付他人,并运行在没有安装Rust
的环境中。❞
Rust 包管理工具 Cargo
每次运行rustc
都比较繁琐,项目小还可以忍受吗,但是如果随着项目增大,这无疑是一种折磨。所以,在实际运用中,我们用Rust
构建工具:Cargo
❝
Cargo
是Rust
工具链中「内置」的构建系统及「包管理器」。❞
由于它可以处理众多诸如构建代码、下载编译依赖库等繁琐但重要的任务,所以绝大部分的Rust
用户都选择它来管理自己的Rust
项目。
如果是通过curl https://sh.rustup.rs --sSf |sh
来安装Rust
,那么Cargo
就已经被附带在了当前的Rust
工具链里。
我们可以通过如下命令来检查Cargo
是否被安装妥当
cargo --version
用Cargo 创建一个项目
我们还是在projects
文件夹下运行。
cargo new hello_cargocd hello_cargo
第一条命令会创建名为hello_cargo
项目。Cargo
会以hello_cargo
的名字来创建项目目录并放置它生成的文件。
当我们进入hello_cargo
文件夹,会看到Cargo
刚刚生成的「两个文件与一个目录」
用tree
命令查看目录
一个名为
Cargo.toml
的文件一个名为
main.rs
的源代码文件,该源代码文件被放置在src
目录下与此同时,
Cargo
还好初始化一个新的git
仓库并生成默认的.gitignore
文件「忽略.git目录」
Cargo.toml
使用一个文本编辑器打开Cargo.toml
[package]
name = "hello-cargo"
version = "0.1.0"
edition = "2024"
[dependencies]
Cargo
使用TOML
(TOM's Obvious,Minimal Language
)作为标准的配置格式。
首行文本中的[package]
是一个「区域标签」,它表明接下来的语句会被用于当前的程序包。紧随标签后的3行语句提供了Cargo
编译这个程序时需要的配置信息,它们分别是
程序名-
hello-cargo
程序版本号 -
0.1.0
Rust
版本号 -2024
最后一行文本中[dependencies]
同样是一个区域标签,它表明随后的区域会被用来声明项目的依赖。在Rust
中,把代码的集合称为包Crate。
❝
crate
是Rust
中最小的「编译单元」,package
是单个或多个crate
。❞
Cargo.toml 类似前端的 package.json,记录项目详细和版本依赖
使用Cargo构建和运行项目
在hello-cargo
项目目录下,Cargo
可以通过下面的命令来完成「构建任务」。
cargo build
并通过./target/debug/hello-cargo
完成程序运行。
继续使用tree
来查看文档目录
「首次使用」命令cargo build
构建的时候,它会在「项目根目录」下创建一个名为Cargo.lock
的新文件,这个文件记录了「当前项目所有依赖库的具体版本号」。「不要手动编辑其中的内容,**Cargo**
可以帮助你自动维护它」。
当然,我们可以把上述build
和手动查找并执行debug
目录下的可执行文件的两个操作合并成一个操作。
cargo run
cargo run
命令依次完成「编译」和「执行」任务。
此外,Cargo
提供了一个叫做cargo check
的命令,用来「快速检查当前代码是否可以通过编译」,而不需要花费额外的时间去真正生成可执行程序。
以Release 模式进行构建
当准备好发布自己的项目时,可以使用命令cargo build --release
在「优化模式」构建并生成可执行程序。它生成的可执行文件会被放置在target/release
目录下,而不是之前的target/debug
目录下。
这种模式会以更长的编译时间为代价来优化代码,从而使代码拥有更好的「运行时性能」。
总结
我们可以通过与 node 的对比来加深对 rust 的认识
类型 | nodejs | rust |
---|---|---|
安装器 | nvm | rustup |
包管理器 | npm | cargo |
项目信息 | package.json | Cargo.toml |
包 | module | Crate |
原文地址:https://webfem.com/post/rust-config,转载请注明出处