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

Ubuntu系统安装与配置Rust环境详细教程

时间:2026-05-08 21:21
在Ubuntu中配置Rust开发环境,需更新系统并安装编译工具链。推荐使用rustup安装,安装后需激活环境变量。国内用户可配置镜像源以加速更新和依赖下载。安装后可通过Cargo管理项目,或用rustc直接编译。常见问题如缺少链接器、下载慢等,可通过安装组件、配置镜像或检查环境变量解决。

想要在 Ubuntu 系统上搭建 Rust 开发环境,体验其卓越的性能与内存安全特性?本指南将为你提供一份从系统准备到成功运行第一个 Rust 程序的完整教程,特别包含了针对国内开发者的网络加速配置方案以及常见问题的排查方法,助你高效入门。

Rust在Ubuntu中如何配置

一、安装前的准备工作

在开始安装 Rust 之前,确保你的 Ubuntu 系统已更新并安装了必要的编译工具链至关重要。这一步能有效预防后续可能出现的“链接器未找到”等典型错误,为顺利安装奠定基础。

请打开终端,输入并执行以下命令:

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

这条组合命令主要完成两项任务:首先,更新系统的软件包列表以获取最新信息;其次,安装几个核心开发工具。其中,curl 用于下载安装脚本,而 build-essentialgccmake 则组成了 GNU 编译工具链,它们是编译 Rust 源代码不可或缺的基础组件。

二、安装与配置 Rust 工具链

目前,官方推荐使用 Rust 工具链管理器 rustup 进行安装。它支持多版本共存、轻松切换和便捷更新,是管理 Rust 环境最灵活高效的方式。

使用 rustup 进行安装

通过官方提供的脚本进行安装是最直接快捷的方法:

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

脚本运行后,会提示你选择安装模式。对于绝大多数初次安装的用户,直接按回车键选择默认选项(安装稳定的发布版工具链以及包管理器 Cargo)即可。

安装过程结束后,需要让系统加载 Rust 的环境变量。你可以立即执行以下命令使其在当前终端生效:

source $HOME/.cargo/env

或者,更简便的方法是直接关闭当前终端窗口,重新启动一个新的终端会话。之后,通过以下命令来验证 Rust 和 Cargo 是否安装成功:

rustc --version
cargo --version

如果终端正确显示了 Rust 编译器和 Cargo 包管理器的版本号,那么恭喜你,Rust 开发环境已经成功部署。

中国大陆网络加速配置(可选但推荐)

考虑到国内特殊的网络访问环境,配置国内镜像源可以显著提升 Rust 工具链更新和依赖包(crate)的下载速度,避免因网络超时导致的安装失败。以下提供两种主流加速方案,你可以根据情况选择其一或组合使用。

方案一:设置 rustup 环境变量(加速工具链本身更新)
在运行安装脚本之前或之后,执行以下命令:

export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup

为了永久生效,建议将这两行命令添加到你的 Shell 配置文件(如 ~/.bashrc~/.zshrc)末尾。

方案二:配置 Cargo 镜像源(加速第三方库下载)
这一步对于日常开发更为关键,能极大加快项目构建时下载依赖的速度。你需要创建或修改 ~/.cargo/config.toml 这个配置文件。

例如,配置使用清华大学开源软件镜像站:

[registries]
crates-io = { index = "https://mirrors.tuna.tsinghua.edu.cn/crates.io-index" }

或者,配置使用中国科学技术大学镜像源来替换默认的 crates.io 源:

[source.crates-io]
replace-with = 'ustc'

[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"

其他安装与维护方式

备选方案:通过系统包管理器安装
如果你偏好使用 Ubuntu 自带的包管理器统一管理所有软件,也可以使用 apt 命令安装:

sudo apt install -y rustc cargo

但请注意,通过此方式安装的 Rust 版本可能不是最新的稳定版。如需卸载,可使用以下命令:

sudo apt remove cargo && sudo apt autoremove

日常维护命令
如果通过 rustup 安装,将 Rust 工具链更新到最新的稳定版本非常简单:

rustup update

若需要彻底卸载 rustup 及其管理的所有 Rust 工具链,可以运行官方提供的卸载命令:

rustup self uninstall

三、创建并运行你的第一个 Rust 项目

环境配置完成后,就可以开始编写你的首个 Rust 程序了。Rust 内置的包管理器 Cargo 极大地简化了项目的创建、编译、运行和依赖管理流程。

使用 Cargo 创建新项目
执行以下命令,Cargo 会自动创建一个名为 “hello_world” 的二进制项目目录,并生成包含基础代码和配置文件的标准项目结构:

cargo new hello_world && cd hello_world

进入项目目录后,你可以使用以下核心命令:

  • 编译项目:执行 cargo build。该命令会编译项目,生成的可执行文件位于 target/debug/ 目录下。
  • 直接运行项目:执行 cargo run。此命令会先自动完成编译,然后立即运行生成的可执行文件,非常适合快速测试。
  • 进行发布构建:执行 cargo run --releasecargo build --release。这会启用更高级别的优化,生成的产物位于 target/release/ 目录,运行速度更快,体积更小,适用于最终部署。

直接使用 rustc 编译器
对于单个独立的 Rust 源代码文件,你也可以绕过 Cargo,直接使用 Rust 编译器进行编译:

rustc main.rs && ./main

这种方法适用于快速测试一小段代码逻辑,非常轻便。

四、常见问题与解决方案

即使按照指南操作,偶尔也可能遇到一些问题。以下是几个典型故障及其排查思路:

  • 编译时报错 “linker ‘cc’ not found”:这通常表明系统缺少 C 语言链接器。请返回“安装前的准备工作”部分,确认已成功安装 build-essential 或至少安装了 gcc 包。
  • 下载速度极慢或始终失败:首先,请检查是否已按照上文“中国大陆网络加速配置”部分正确设置了环境变量或 Cargo 镜像源。配置完成后,可以尝试运行 cargo update 来刷新包索引缓存。若问题依旧,请检查本地网络连接,或尝试切换其他网络环境。
  • 安装后 rustccargo 命令无法识别:最常见的原因是 Shell 环境变量未正确加载。请确认已执行 source $HOME/.cargo/env 命令,或者已经重新启动了终端窗口。如果使用的是 apt 安装的旧版本,请注意系统路径和版本可能存在的差异。

遵循以上步骤,你应该能够在 Ubuntu 系统上顺利完成 Rust 开发环境的搭建与配置。接下来,就可以深入探索 Rust 独特的所有权系统、无畏并发等强大特性,开启高效安全的系统编程之旅。

来源:https://www.yisu.com/ask/39617110.html
上一篇Composer设备流水线动画制作教程与多模型同步位移方法汇总 下一篇HDFS集群扩容的几种常用方法与操作步骤
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

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

同类最新

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

更多
Java序列化中ObjectStreamField自定义字段控制详解
编程语言 · 2026-05-11

Java序列化中ObjectStreamField自定义字段控制详解

ObjectStreamField是描述序列化字段的元信息载体。通过声明serialPersistentFields数组并确保字段名、类型、顺序与类定义严格一致,可控制序列化字段。字段不匹配会导致静默反序列化失败。配合writeObject readObject方法可实现动态控制。应避免使用isUnshared、getOffset等底层方法。

实时操作系统RTOS线程调度与Java强实时变量处理对比分析
编程语言 · 2026-05-11

实时操作系统RTOS线程调度与Java强实时变量处理对比分析

实时操作系统(RTOS)通过优先级调度和中断机制确保微秒级确定性,而Java因垃圾回收、同步延迟和内存分配不确定性,难以满足强实时场景的严格时间要求,因此这类系统通常将核心逻辑交由RTOS处理。

Java并行流性能优化CollectorsgroupingByConcurrent方法详解
编程语言 · 2026-05-11

Java并行流性能优化CollectorsgroupingByConcurrent方法详解

Collectors groupingByConcurrent专为无需保持插入顺序、高并发写入的场景设计,能显著提升并行流分组性能。其底层通过所有线程直接写入同一个ConcurrentHashMap,避免了普通groupingBy的合并开销。适用于日志聚合、实时统计等高吞吐任务,但不适用于要求分组顺序的场景。使用时必须搭配并行流,且不支持自定义有序Map。在

循环队列数组实现详解头尾指针操作与取模运算实战指南
编程语言 · 2026-05-11

循环队列数组实现详解头尾指针操作与取模运算实战指南

循环队列通过数组实现,核心在于头尾指针的职责与取模运算。front指向队首,rear指向下一个空位,移动时需取模以确保回环。判空条件为front等于rear,判满则需牺牲一个存储单元。入队和出队操作后需立即取模,避免越界。动态内存管理时需注意分配与释放顺序,防止内存泄漏。

ThinkPHP入口文件配置参数修改与环境变量动态加载指南
编程语言 · 2026-05-11

ThinkPHP入口文件配置参数修改与环境变量动态加载指南

在ThinkPHP框架中动态调整数据库连接等配置参数,是许多开发者实现多环境部署的核心需求。然而,你是否曾遇到这样的困境:在入口文件中修改了配置值,刷新页面后却发现更改并未生效?这通常源于对框架配置加载机制的理解偏差。 本文将深入解析ThinkPHP配置生效的唯一正确路径,帮助你彻底规避“本地测试通