位置:首页 > Rust > 如何在 CentOS 上构建 Rust 项目

如何在 CentOS 上构建 Rust 项目

时间:2026-08-25  |  作者:实验室老王  |  阅读:0

目录

  1. 安装 Rust 工具链
  2. 创建项目并完成首次构建
  3. 依赖管理与 Features 用法
  4. 测试与文档生成

前言

在 CentOS 上把 Rust 项目跑起来,关键不在命令多复杂,而在于把工具链安装、工程初始化、构建模式和后续维护动作理顺。本文按实际开发顺序重写这套流程,保留原始命令,同时补清每一步对应的目录、用途和适用场景,方便你快速判断该怎么建、怎么编、怎么跑。

在 CentOS 上开始一个 Rust 项目,真正要掌握的不是命令有多少,而是每条命令分别解决什么问题:先把工具链装好,再用 Cargo 建立工程、完成编译与运行,最后补上依赖、特性、测试和文档这些日常开发动作。下面按实际使用顺序梳理一遍,读完后你可以判断当前项目该用 debug 还是 release、何时改 Cargo.toml,以及常用构建命令会把结果放到哪里。

安装 Rust 工具链

在 CentOS 上搭建 Rust 环境,第一步是安装官方推荐的工具链管理器 rustup。原文中的命令可以直接使用:

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

这条命令会下载并执行安装脚本。安装过程中通常只需要接受许可协议,并选择默认安装选项即可。对于大多数初次搭建环境的场景,一路使用默认值就足够。

安装完成后,还需要让当前 shell 会话加载 Cargo 的环境变量,否则终端里可能暂时找不到 rustccargo

source $HOME/.cargo/env

执行之后,Rust 编译器 rustc 和包管理工具 cargo 就能在当前终端中直接调用。这一步看起来简单,但它决定了后续所有构建命令是否能正常执行。

创建项目并完成首次构建

用 Cargo 生成项目骨架

Rust 项目通常不需要手动从零搭目录结构,直接交给 Cargo 生成即可:

Cargo.toml 中依赖与 Features 的配置关系图
Cargo.toml 里依赖与特性的分工把依赖声明和特性开关拆开看,更容易理解 Cargo.toml 里两类常见配置分别控制什么。
Rust 项目在 CentOS 上的创建、编译与运行路径示意图
Rust 工程从创建到运行的命令路径用项目目录、构建模式和产物路径串起首次上手最容易混淆的几步。
cargo new my_project

执行后,当前目录下会新增一个 my_project 文件夹,其中已经包含标准工程结构。至少会有两个关键文件:

  • Cargo.toml:项目配置文件,用来声明包信息、依赖和特性。
  • src/main.rs:默认的程序入口文件。

这也是 Rust 工程化开发的起点。后面无论是加依赖、开特性还是执行测试,基本都围绕这个项目结构展开。

先做一次基础编译

项目创建完成后,先进入目录执行一次构建:

cd my_project
cargo build

cargo build 会编译当前项目,并把生成结果放到 target/debug 目录下。这里的 debug 版本更适合开发阶段使用,因为它强调构建效率和调试便利,而不是极致性能。

如果你的目标是部署或性能测试,可以改用优化编译:

cargo build --release

这时生成的可执行文件会进入 target/release。两者的区别不只是目录不同,更重要的是构建策略不同:debug 适合频繁改代码时快速验证,release 更适合正式交付和运行。

运行生成的程序

构建结束后,可以直接执行编译产物。debug 版本的运行方式如下:

./target/debug/my_project

如果你刚才使用的是 release 构建,则对应运行:

./target/release/my_project

在日常开发中,如果你并不想手动区分“先编译、再运行”这两个动作,也可以直接使用 cargo run。它会自动完成构建并立即启动程序,更适合快速验证代码改动。

依赖管理与 Features 用法

如何添加依赖

Rust 的外部库依赖统一写在 Cargo.toml 中。比如要引入随机数生成库,可以在 [dependencies] 下加入:

[dependencies]
rand = "0.8"

保存文件后重新执行 cargo build,Cargo 会自动下载并编译新增依赖。也就是说,依赖解析、下载和构建都已经被整合进同一套工作流里,不需要再单独处理第三方库安装。

对初学者来说,这一机制的价值在于:项目配置和构建行为是统一的。只要 Cargo.toml 写对,后续的编译流程基本都可以交给 Cargo 接管。

何时使用 Features

如果项目需要按条件启用不同功能,可以在 Cargo.toml 中定义特性:

[features]
default = ["feature1"]
feature1 = []
feature2 = []

定义完成后,构建时可以通过命令行显式开启某些特性:

cargo build --features "feature1 feature2"

这种做法适合把一部分可选能力拆开管理,例如某些实验功能、平台差异功能,或仅在特定场景下启用的模块。它的重点不是“多写几个开关”,而是让同一个项目在不同构建目标下具备更清晰的行为边界。

测试与文档生成

用 cargo test 跑测试

Rust 自带测试框架。只要函数使用了 #[test] 标记,就可以统一通过下面这条命令运行:

cargo test

执行时,Cargo 会先编译项目,再运行全部测试用例。这一步通常会出现在功能开发完成后,或者准备提交、发布之前。相比手动逐个检查输出结果,cargo test 更适合作为固定的质量校验入口。

用 cargo doc 生成文档

除了编译和测试,Rust 项目的文档也可以通过 Cargo 直接生成:

cargo doc --open

这条命令会生成 HTML 文档,并自动在浏览器中打开。对于需要查看 API、模块说明或代码注释的场景,它比单纯翻源文件更高效,也更适合团队协作时统一查看接口说明。

如果把前面的流程连起来看,CentOS 上的 Rust 项目搭建其实很直接:安装工具链,创建工程,选择合适的构建模式,再逐步补上依赖、特性、测试和文档。把这些基础动作熟悉之后,后续无论是继续写业务逻辑,还是准备部署可执行文件,都会顺畅很多。

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多