游乐游手机版
首页/编程语言/文章详情

Debian上的Rust编译器怎么用

时间:2026-04-29 21:50
在 Debian 上使用 Rust 编译器 一 安装与验证 想在 Debian 上开启 Rust 之旅,第一步自然是安装编译器。目前主流有两种路径,各有侧重,你可以根据自身需求来选择。 推荐方式:使用 rustup(官方版本管理工具) 这是 Rust 官方主推的安装方式,最大的优势在于灵活,可以轻松

在 Debian 上使用 Rust 编译器

Debian上的Rust编译器怎么用

一 安装与验证

想在 Debian 上开启 Rust 之旅,第一步自然是安装编译器。目前主流有两种路径,各有侧重,你可以根据自身需求来选择。

推荐方式:使用 rustup(官方版本管理工具)

这是 Rust 官方主推的安装方式,最大的优势在于灵活,可以轻松管理多个版本和工具链。操作起来也很简单:

首先,建议更新系统并安装一些基础的构建工具,为后续编译铺平道路。一条命令即可搞定:

sudo apt update && sudo apt install -y curl build-essential gcc make

接下来,通过官方脚本安装 rustup:

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

安装完成后,别忘记让环境变量生效:

source $HOME/.cargo/env

最后,用两个简单的命令验证安装是否成功:

rustc --version
cargo --version

替代方式:使用 apt(仓库稳定版)

如果你追求极致的系统集成度和稳定性,那么直接使用 Debian 官方仓库的版本也是个不错的选择。它的好处是与系统其他组件兼容性最佳,但版本可能不是最新的。

安装命令同样直接:

sudo apt update && sudo apt install -y rustc cargo

验证步骤同上。简单来说,rustup 适合需要尝鲜或管理多版本环境的开发者,而 apt 安装则更贴近“开箱即用”的系统稳定版,两者任选其一即可。

二 快速上手 Cargo 项目

安装完毕,接下来就是体验 Rust 强大的项目管理工具 Cargo 了。它能帮你处理从创建、构建到测试的整个流程。

创建并运行

让我们从一个经典的“Hello, World!”项目开始。以下命令会创建一个新项目并直接进入项目目录:

cargo new hello_world && cd hello_world

然后,你可以使用 cargo build 来构建项目,或者直接用 cargo run 一步完成构建并运行。整个过程非常流畅。

仅编译单个文件

当然,有时候你可能只是想快速测试一小段代码,不需要完整的 Cargo 项目。这时可以直接使用 rustc 编译器。编辑好你的 main.rs 文件后,执行:

rustc main.rs

编译成功后,在 Linux 下运行生成的二进制文件即可:./main

常用构建与运行

除了基础命令,还有几个高频操作值得掌握:

  • cargo build --release:进行发布构建,会对代码进行大量优化,适合最终部署。
  • cargo test:运行项目中所有的测试用例。

掌握以上命令,基本上就能覆盖日常大部分的开发与调试场景了。

三 常用配置与管理

为了让 Rust 开发环境更顺手,进行一些个性化配置是很有必要的。

设置默认工具链

如果你通过 rustup 安装,可以自由切换稳定版(stable)和夜间版(nightly)。将稳定版设为默认是个稳妥的选择:

rustup default stable

如果想体验最新的实验性功能,可以切换至夜间版:

rustup default nightly

交叉编译目标

Rust 的交叉编译能力非常出色。例如,要为 ARM 设备编译,只需添加对应的目标平台:

rustup target add armv7-unknown-linux-gnueabihf

配置镜像源(可选,加速国内下载)

在国内网络环境下,更新依赖库有时会比较慢。可以通过配置镜像源来大幅提升下载速度。只需编辑或创建 ~/.cargo/config.toml 文件,加入类似下面的配置(以清华源为例):

[source.crates-io]
replace-with = ‘tuna’

[source.tuna]
registry = “https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git”

升级与卸载

维护环境也很简单。使用 rustup update 可以更新 Rust 工具链本身。如果你决定不再使用,一条命令就能干净地卸载 rustup:

rustup self uninstall

这些配置和管理技巧,能帮助你更高效地控制版本、适配不同目标平台,并提升开发体验。

四 进阶示例 WebAssembly

Rust 在 WebAssembly 领域表现卓越。下面我们走通一个完整的流程,将 Rust 函数编译成 Wasm 并在网页中调用。

安装工具

首先,需要安装必要的工具链:

sudo apt install -y wabt
cargo install wasm-bindgen-cli

创建 lib 项目并添加依赖

Wasm 项目通常创建为库类型:

cargo new --lib wasm_example && cd wasm_example

接着,在 Cargo.toml 文件中添加 wasm-bindgen 依赖。

编写代码(src/lib.rs)

打开 src/lib.rs,编写一个简单的加法函数:

use wasm_bindgen::prelude::*;

#[wasm_bindgen]
pub fn add(a: i32, b: i32) -> i32 {
    a + b
}

构建与导出

使用特定目标进行发布构建:

cargo build --target wasm32-unknown-unknown --release

然后,用 wasm-bindgen 工具处理生成的 .wasm 文件,使其更易于在 Ja vaScript 中使用:

wasm-bindgen target/wasm32-unknown-unknown/release/wasm_example.wasm --out-dir ./pkg --target web

本地预览

最后,在项目目录下启动一个简单的 HTTP 服务器(例如使用 Python),就可以在浏览器中访问并测试你的 Wasm 模块了:

python3 -m http.server

访问 https://localhost:8000,你就完成了一次从 Rust 到 Web 前端的完整输出。

五 将程序打包为 Debian 包

开发完成后,如何将你的 Rust 程序分发给其他 Debian/Ubuntu 用户呢?打包成标准的 .deb 安装包是个专业的选择。

首先,安装一个非常方便的打包工具:

cargo install cargo-deb

然后,在你的 Rust 项目根目录下,执行一条命令即可生成 .deb 包:

cargo deb

生成的包位于 target/debian/ 目录下。你可以使用 dpkg 命令来安装它:

sudo dpkg -i target/debian/*.deb

这种方式非常适合需要系统级分发和部署的 Rust 二进制程序,让分享和安装变得像系统原生软件一样简单。

来源:https://www.yisu.com/ask/60040012.html
上一篇如何在Debian中使用Rust编写程序 下一篇如何更新Debian中的Rust版本
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
RecyclerView不显示内容的常见原因及修复
编程语言 · 2026-07-07

RecyclerView不显示内容的常见原因及修复

RecyclerView无数据显示,常见原因为Adapter的getItemCount()返回0。修复方法是将硬编码的0改为动态返回数据大小,如contacts size()。增强版Adapter需实现空安全及刷新支持。其他检查点包括设置布局管理器、避免RecyclerView高度为wrap_content、确保Item布局宽高合理及数据非空验证。

Python一行代码读取多种类型输入
编程语言 · 2026-07-07

Python一行代码读取多种类型输入

使用`map(call,(int,str,int),input() split())`可一行代码解析混合类型输入,实现类型自动转换,比列表推导式更简洁。输入字段数量需与类型元组严格一致,支持封装为`read_types`函数复用。

Java中高效操作对象集合:避免无意义的Map构建
编程语言 · 2026-07-07

Java中高效操作对象集合:避免无意义的Map构建

直接遍历对象集合并访问嵌套字段执行操作,时间复杂度O(n)且无额外内存开销。先构建Map再遍历则增加哈希表初始化、键值插入和二次迭代消耗,数据量大时性能差距显著,应避免此类功能冗余。

BoxLayout仅居中一个组件其余默认对齐的方法
编程语言 · 2026-07-07

BoxLayout仅居中一个组件其余默认对齐的方法

在Swing的BoxLayout(Y_AXIS)中,setAlignmentX无法单独居中组件,因为该布局下所有组件的对齐由容器统一管理。三种可靠方案:嵌套JPanel通过分组隔离可分别设置左对齐和居中;GridBagLayout可独立控制每个组件的对齐方式;RelativeLayout允许组件单独设置其对齐方式。

Avro枚举兼容性:新增值失败原因与正确演进实践
编程语言 · 2026-07-07

Avro枚举兼容性:新增值失败原因与正确演进实践

Avro枚举向后兼容依赖二进制索引映射,JSON序列化因绕过索引机制导致新增符号失败;default仅对字段缺失生效,无法处理未知符号。演进需在末尾追加符号并采用二进制格式,推荐启用SchemaRegistry确保兼容。