Rust 安装与配置指南

2025-03-19
nodejs
195

前言

在当今的编程世界中,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 官网也很简洁

image.png

安装完成之后,关闭控制台,再打开就。

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 默认模式就行

image.png

常用命令

  • rustup update :来更新Rust版本

  • rustup self uninstall : 卸载rustupRust工具链

  • 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

image.png

编译和运行是两个不同的步骤

在运行一段Rust程序之前,必须输入rustc命令及附带的源文件名参数来「编译」它:

rustc main.rs

这过程和C/C++gccclang编译非常相似。「一旦编译成功,就会获得一个二进制的可执行文件」

上面的步骤,其实和我们平时使用js是不一样的。js「动态语言」,在编译之后就会立即运行。

❝**「而`Rust`是一种预编译语言」**,这意味着当你编译完Rust程序之后,便可以将可执行文件交付他人,并运行在没有安装Rust的环境中。❞

Rust 包管理工具 Cargo

每次运行rustc都比较繁琐,项目小还可以忍受吗,但是如果随着项目增大,这无疑是一种折磨。所以,在实际运用中,我们用Rust构建工具:Cargo

CargoRust工具链中「内置」的构建系统及「包管理器」。❞

由于它可以处理众多诸如构建代码、下载编译依赖库等繁琐但重要的任务,所以绝大部分的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刚刚生成的「两个文件与一个目录」

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使用TOMLTOM's Obvious,Minimal Language)作为标准的配置格式。

首行文本中的[package]是一个「区域标签」,它表明接下来的语句会被用于当前的程序包。紧随标签后的3行语句提供了Cargo编译这个程序时需要的配置信息,它们分别是

  • 程序名- hello-cargo

  • 程序版本号 - 0.1.0

  • Rust版本号 - 2024

最后一行文本中[dependencies]同样是一个区域标签,它表明随后的区域会被用来声明项目的依赖。在Rust中,把代码的集合称为包Crate

crateRust中最小的「编译单元」package是单个或多个crate。❞

Cargo.toml 类似前端的 package.json,记录项目详细和版本依赖

使用Cargo构建和运行项目

hello-cargo项目目录下,Cargo可以通过下面的命令来完成「构建任务」

cargo build

并通过./target/debug/hello-cargo完成程序运行。

继续使用tree来查看文档目录

cargo 目录

「首次使用」命令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,转载请注明出处