Linux系统下搭建Rust开发环境的详细过程

 更新时间:2026年06月01日 09:54:12   作者:G_dou_  
Rust 是一门强调内存安全、高性能和并发可靠性的系统级编程语言,在 Linux 环境中学习和使用 Rust 非常合适,本文专注于 Linux 下搭建 Rust 环境,不展开 Windows 和 macOS,需要的朋友可以参考下

Rust 是一门强调内存安全高性能并发可靠性的系统级编程语言。在 Linux 环境中学习和使用 Rust 非常合适,因为 Linux 本身拥有完善的编译工具链、包管理器、终端生态和服务器部署环境。

本文专注于 Linux 下搭建 Rust 环境,不展开 Windows 和 macOS。你将完成从系统依赖安装、rustup 安装、Cargo 镜像配置、VS Code 或终端开发、创建项目、运行测试到常见问题排查的完整流程。

建议使用 rustup 安装 Rust,而不是直接使用发行版软件源里的 rustcrustup 可以管理 stable、beta、nightly 多套工具链,也能安装 rustfmtclippyrust-src 等常用组件。

图示说明:Linux 搭建 Rust 的核心流程是“准备系统编译依赖 -> 安装 rustup -> 配置 Cargo -> 创建项目 -> 编译运行 -> 配置编辑器与调试工具”。

一、Linux 下 Rust 环境由哪些部分组成

1.1 核心工具说明

Linux 上的 Rust 开发环境通常由下面几部分组成:

工具作用是否推荐安装常用命令
rustupRust 工具链管理器必装rustup update
rustcRust 编译器必装rustc --version
cargoRust 包管理与构建工具必装cargo build
rustfmt代码格式化工具推荐cargo fmt
clippy静态检查工具推荐cargo clippy
rust-analyzer编辑器语言服务推荐VS Code 插件
gcc/clangC/C++ 编译依赖推荐gcc --version
pkg-config查找系统库信息推荐pkg-config --version

可以简单理解为:rustup 管工具链,rustc 管编译,cargo 管项目,系统编译依赖负责链接本地库

1.2 推荐安装路线

Linux 下推荐按下面顺序搭建:

  1. 确认发行版类型和系统架构。
  2. 安装基础编译依赖。
  3. 使用官方脚本安装 rustup
  4. 配置 Cargo 环境变量。
  5. 配置 Cargo sparse 协议或国内镜像。
  6. 安装 rustfmtclippyrust-src
  7. 创建项目并运行 cargo run
  8. 配置 VS Code、Neovim 或 JetBrains RustRover。
  9. 执行 cargo fmtcargo clippycargo test 做完整验证。

二、准备工作:确认系统与架构

2.1 查看 Linux 发行版

不同 Linux 发行版安装系统依赖的命令不同。先查看系统信息:

cat /etc/os-release

常见输出中会包含 IDVERSION_ID。例如 Ubuntu 可能是:

也可以查看内核版本:

uname -a

2.2 查看 CPU 架构

Rust 支持多种架构。开发机常见是 x86_64aarch64

uname -m

架构说明:

输出含义常见设备
x86_6464 位 Intel/AMD服务器、台式机、笔记本
aarch6464 位 ARMARM 服务器、开发板
armv7l32 位 ARM部分嵌入式设备

如果你只是普通 Linux 电脑或云服务器,大概率是 x86_64

三、安装系统编译依赖

3.1 Ubuntu / Debian

Ubuntu 和 Debian 推荐先安装下面这些依赖:

sudo apt update
sudo apt install -y build-essential curl git pkg-config libssl-dev ca-certificates

各依赖作用如下:

依赖作用
build-essential提供 gcc、g++、make 等编译工具
curl下载 rustup 安装脚本
git拉取依赖或项目代码
pkg-config帮助 Rust crate 查找系统库
libssl-dev编译 openssl 相关 crate
ca-certificates保证 HTTPS 证书可用

3.2 Fedora / RHEL / CentOS Stream

Fedora 可以使用:

sudo dnf groupinstall -y "Development Tools"
sudo dnf install -y curl git pkg-config openssl-devel ca-certificates

如果是 RHEL 或 CentOS Stream,命令也基本类似:

sudo dnf install -y gcc gcc-c++ make curl git pkg-config openssl-devel ca-certificates

3.3 Arch Linux / Manjaro

Arch 系发行版使用 pacman

sudo pacman -Syu --needed base-devel curl git pkgconf openssl ca-certificates

base-devel 中包含常用编译工具,适合 Rust 编译本地依赖。

3.4 openSUSE

openSUSE 可以使用:

sudo zypper refresh
sudo zypper install -y -t pattern devel_basis
sudo zypper install -y curl git pkg-config libopenssl-devel ca-certificates

如果你使用其他发行版,核心思路不变:准备 C 编译器、链接器、curl、git、pkg-config 和 OpenSSL 开发包。

四、使用 rustup 安装 Rust

4.1 官方安装命令

Rust 官方推荐通过 rustup 安装:

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

安装过程中一般选择默认选项即可,也就是:

  • stable 工具链
  • 当前系统对应 target
  • 默认 profile
  • 自动写入 shell 配置

4.2 让环境变量立即生效

安装完成后,当前终端可能还识别不到 cargo。执行:

source "$HOME/.cargo/env"

然后检查版本:

rustup --version
rustc --version
cargo --version

如果三个命令都能输出版本号,说明 Rust 核心环境已经安装成功。

4.3 检查 PATH 配置

Rust 默认安装到用户目录:

~/.cargo/bin

可以查看 PATH

echo "$PATH"

如果没有 ~/.cargo/bin,可以手动写入 shell 配置。

Bash 用户:

echo 'source "$HOME/.cargo/env"' >> ~/.bashrc
source ~/.bashrc

Zsh 用户:

echo 'source "$HOME/.cargo/env"' >> ~/.zshrc
source ~/.zshrc

Fish 用户:

fish_add_path $HOME/.cargo/bin

五、配置 Rust stable 工具链

5.1 设置默认工具链

建议默认使用 stable:

rustup default stable

查看当前 active toolchain:

rustup show

输出中会看到当前默认工具链和安装目录。

5.2 更新工具链

Rust 会持续发布新版本,日常可以使用:

rustup update

如果只想更新 stable:

rustup update stable

5.3 安装常用组件

推荐安装:

rustup component add rustfmt clippy rust-src

组件说明:

组件作用
rustfmt自动格式化 Rust 代码
clippy提供更严格的 lint 检查
rust-src提供标准库源码,便于编辑器跳转

六、配置 Cargo 下载源

6.1 使用 sparse 协议

较新的 Cargo 支持 sparse registry,下载索引更快。创建或编辑:

mkdir -p ~/.cargo
nano ~/.cargo/config.toml

写入:

[registries.crates-io]
protocol = "sparse"

保存后测试:

cargo search serde

6.2 配置国内镜像

如果访问 crates.io 较慢,可以配置镜像。以 rsproxy 为例:

[source.crates-io]
replace-with = "rsproxy-sparse"

[source.rsproxy]
registry = "https://rsproxy.cn/crates.io-index"

[source.rsproxy-sparse]
registry = "sparse+https://rsproxy.cn/index/"

[registries.rsproxy]
index = "https://rsproxy.cn/crates.io-index"

[net]
git-fetch-with-cli = true

配置完成后运行:

cargo search tokio

能正常返回搜索结果,说明 Cargo 索引访问正常。

6.3 代理环境变量

如果你在公司网络、校园网或代理环境中,也可以设置代理:

export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890

也可以只对 Git 设置代理:

git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890

取消代理:

git config --global --unset http.proxy
git config --global --unset https.proxy

七、创建第一个 Rust 项目

7.1 使用 cargo new

进入工作目录后执行:

cargo new hello_rust
cd hello_rust

项目结构如下:

hello_rust
├── Cargo.toml
└── src
    └── main.rs

7.2 查看 Cargo.toml

Cargo.toml 是 Rust 项目的配置文件:

[package]
name = "hello_rust"
version = "0.1.0"
edition = "2021"

[dependencies]

字段说明:

  • name:项目名称。
  • version:项目版本。
  • edition:Rust edition。
  • dependencies:第三方依赖。

7.3 编写 main.rs

打开 src/main.rs

fn main() {
    println!("Hello, Linux Rust!");
}

运行:

cargo run

看到下面输出就说明成功:

Hello, Linux Rust!

八、Cargo 常用命令

8.1 构建与运行

Rust 项目日常开发基本都围绕 Cargo 展开:

命令作用使用场景
cargo new demo创建项目初始化
cargo build编译项目开发阶段
cargo run编译并运行快速验证
cargo test执行测试单元测试/集成测试
cargo fmt格式化代码提交前
cargo clippy静态检查质量检查
cargo clean清理构建产物重新构建
cargo build --release发布构建生产部署

8.2 推荐提交前命令

提交代码前建议执行:

cargo fmt
cargo clippy -- -D warnings
cargo test

这三条命令分别检查格式、代码质量和行为正确性。

8.3 release 构建

发布二进制程序时使用:

cargo build --release

产物路径:

target/release/

release 模式会启用优化,运行性能明显优于 debug 模式。

九、配置 VS Code 开发 Rust

9.1 安装 VS Code 插件

Linux 桌面环境可以使用 VS Code 开发 Rust,推荐插件:

插件作用链接
rust-analyzerRust 语言服务Marketplace
CodeLLDB调试 Rust 程序Marketplace
Even Better TOMLTOML 高亮Marketplace
crates查看依赖版本Marketplace

9.2 推荐 settings.json

在项目中创建 .vscode/settings.json

{
  "editor.formatOnSave": true,
  "rust-analyzer.check.command": "clippy",
  "rust-analyzer.cargo.features": "all",
  "files.trimTrailingWhitespace": true
}

这份配置会让保存格式化和 Clippy 检查更顺手。

9.3 配置 LLDB 调试

安装 CodeLLDB 后,可以创建 .vscode/launch.json

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "lldb",
      "request": "launch",
      "name": "Debug hello_rust",
      "cargo": {
        "args": ["build", "--bin=hello_rust"],
        "filter": {
          "name": "hello_rust",
          "kind": "bin"
        }
      },
      "args": [],
      "cwd": "${workspaceFolder}"
    }
  ]
}

注意把 hello_rust 改成自己的项目名。

十、终端与 Neovim 开发方案

10.1 纯终端开发

如果你习惯终端开发,可以使用:

cargo check
cargo test
cargo run

cargo check 不生成最终二进制,检查速度更快,适合频繁验证语法和类型。

10.2 Neovim + rust-analyzer

Neovim 用户可以通过 LSP 接入 rust-analyzer。核心依赖是:

rustup component add rust-analyzer

如果发行版没有直接提供 rust-analyzer,也可以让编辑器插件自动下载。

10.3 常见终端辅助工具

可以额外安装:

cargo install cargo-watch
cargo install cargo-edit

用途:

  • cargo-watch:文件变化后自动执行命令。
  • cargo-edit:提供 cargo addcargo rm 等依赖管理命令。

示例:

cargo watch -x check -x test

十一、Linux 常见问题与解决方案

11.1 cargo 命令不存在

原因通常是 ~/.cargo/bin 没有加入 PATH。

处理方式:

source "$HOME/.cargo/env"
echo "$PATH"

如果使用 Bash:

echo 'source "$HOME/.cargo/env"' >> ~/.bashrc
source ~/.bashrc

11.2 编译时报 cc not found

说明系统没有安装 C 编译器。

Ubuntu/Debian:

sudo apt install -y build-essential

Fedora:

sudo dnf groupinstall -y "Development Tools"

Arch:

sudo pacman -S --needed base-devel

11.3 OpenSSL 编译失败

很多依赖会用到 OpenSSL。Ubuntu/Debian 安装:

sudo apt install -y pkg-config libssl-dev

Fedora 安装:

sudo dnf install -y pkg-config openssl-devel

Arch 安装:

sudo pacman -S --needed pkgconf openssl

11.4 Cargo 下载依赖很慢

可以先开启详细日志:

cargo build -vv

如果卡在索引或下载阶段,优先配置 sparse 协议或国内镜像。

11.5 rust-analyzer 不生效

排查顺序:

  1. 确认 VS Code 打开的是项目根目录。
  2. 确认根目录存在 Cargo.toml
  3. 执行 cargo check 看项目是否能通过基础检查。
  4. 安装 rust-src
  5. 重启编辑器。

安装命令:

rustup component add rust-src

十二、管理多个 Rust 工具链

12.1 查看工具链

rustup toolchain list

常见输出:

stable-x86_64-unknown-linux-gnu (default)
nightly-x86_64-unknown-linux-gnu

12.2 安装 nightly

某些实验功能需要 nightly:

rustup toolchain install nightly

临时使用 nightly:

cargo +nightly build

初学和生产项目仍然建议优先使用 stable

12.3 项目固定工具链

可以在项目根目录创建 rust-toolchain.toml

[toolchain]
channel = "stable"
components = ["rustfmt", "clippy", "rust-src"]
profile = "default"

团队成员进入项目后会自动使用指定工具链。

十三、添加测试验证环境

13.1 编写一个简单函数

修改 src/main.rs

fn add(left: i32, right: i32) -> i32 {
    left + right
}

fn main() {
    println!("1 + 2 = {}", add(1, 2));
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn add_should_work() {
        assert_eq!(add(1, 2), 3);
    }
}

13.2 运行测试

cargo test

如果看到测试通过,说明 Rust 编译、运行、测试链路都正常。

13.3 完整验证脚本

可以把下面命令逐条执行:

rustup --version
rustc --version
cargo --version
cargo new rust_env_check
cd rust_env_check
cargo run
cargo fmt
cargo clippy
cargo test

全部成功后,Linux Rust 环境就搭建完成了。

总结

Linux 下搭建 Rust 环境的核心步骤并不复杂:先安装系统编译依赖,再通过 rustup 安装 Rust stable 工具链,随后配置 Cargo 下载源,最后用 cargo newcargo runcargo test 做完整验证。

如果你使用 Ubuntu、Debian、Fedora、Arch 或 openSUSE,本文都给出了对应依赖安装命令。完成配置后,你就可以在 Linux 上使用 Rust 开发命令行工具、Web 服务、系统程序和高性能后端应用。

以上就是Linux系统下搭建Rust开发环境的详细过程的详细内容,更多关于Linux搭建Rust开发环境的资料请关注脚本之家其它相关文章!

相关文章

  • 详解Linux中搭建常用服务器

    详解Linux中搭建常用服务器

    本篇文章主要介绍了Linux中搭建常用服务器,主要包括telnet、DHCP、DNS、sendmail、FTP、web、samba有兴趣的可以了解一下。
    2016-12-12
  • ubuntu 20.04上搭建LNMP环境的方法步骤

    ubuntu 20.04上搭建LNMP环境的方法步骤

    这篇文章主要介绍了ubuntu 20.04上搭建LNMP环境的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Linux环境ActiveMQ部署方法详解

    Linux环境ActiveMQ部署方法详解

    这篇文章主要介绍了Linux环境ActiveMQ部署方法,较为详细的分析了Linux环境下ActiveMQ的部署方法,并附带说明了linux安装jdk的相关操作步骤,需要的朋友可以参考下
    2019-05-05
  • Apache ECharts介绍

    Apache ECharts介绍

    Apache ECharts 是一款基于 JavaScript 的数据可视化图表库,提供直观、生动、可交互、可个性化定制的数据可视化图表,本文给大家分享Apache ECharts简介,感兴趣的朋友一起看看吧
    2023-11-11
  • Linux alias命令编写

    Linux alias命令编写

    这篇文章主要介绍了Linux alias命令编写,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Centos修改DNS重启或重启network服务后丢失问题解决方法

    Centos修改DNS重启或重启network服务后丢失问题解决方法

    这篇文章主要介绍了Centos修改DNS重启或重启network服务后丢失问题解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • 查看linux ssh服务信息及运行状态方法

    查看linux ssh服务信息及运行状态方法

    今天小编就为大家分享一篇查看linux ssh服务信息及运行状态方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Linux下执行java程序的方法

    Linux下执行java程序的方法

    本文通过图文并茂的方式给大家介绍linux下执行java程序的方法,想要在Ubuntu上运行java程序,可以将java程序编译成功后打包,然后在Ubuntu上用命令执行jar文件,具体详情请参考本文
    2016-10-10
  • ubuntu18.0.4安装mysql并解决ERROR 1698 (28000): Access denied for user ''''root''''@''''localhost''''

    ubuntu18.0.4安装mysql并解决ERROR 1698 (28000): Access denied for

    这篇文章主要介绍了ubuntu18.0.4安装mysql并解决ERROR 1698 (28000): Access denied for user 'root'@'localhost',现在将ubuntu18.0.4上安装mysql并将碰到的问题记录下来,感兴趣的朋友一起看看吧
    2019-11-11
  • Linux中对mysql用户进行管理的操作代码

    Linux中对mysql用户进行管理的操作代码

    这是在Linux里面对MySQL数据库的用户进行管理,其中包括查看全部用户以及权限、赋予增删改查权限、赋予远程连接%权限、删除用户的权限、删除用户、修改密码等,本文给大家详细介绍了Linux中对mysql用户进行管理的操作代码,需要的朋友可以参考下
    2024-11-11

最新评论