如何在 Ubuntu 22.04 上安装和使用 Rust 编程语言环境

简介

Rust 是一门由 Mozilla 开发的系统编程语言,专注于性能、可靠性和内存安全。它在没有垃圾收集的情况下实现了内存安全,这使其成为构建对性能要求苛刻的应用程序(如操作系统、游戏引擎和嵌入式系统)的理想选择。

接下来,我将一步一步教大家如何进行安装和部署!!

准备工作

服务器准备

必要前提:

  • 一个充满求知欲的大脑。
  • 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。

我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。

注册链接: https://rainyun.ivwv.site

创建雨云服务器

以下步骤仅供参考,请根据实际需求选择配置。

  • 点击 云产品云服务器立即购买
  • 选择距离你较近的区域,以保证低延迟。
  • 按照自己需求选择配置,选择Ubuntu 22.04 版本,按照自己需求是否预装Docker。
  • 最后按照提示进行购买。
  • 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。
  • 我们使用 PowerShell 进行 SSH 远程连接到服务器,Win+R 打开运行窗口,输入 powershell 后点击确定。
  • 输入 ssh root@你的服务器IP 例如 ssh root@154.9.227.239 回车后,首次需要输入 yes,再次回车后即可登录服务器。
  • 到此为止,我们的云服务器就远程连接上了。

通过 APT 安装 Rust

默认的 Ubuntu 存储库提供了 Rust 编译器软件包。在撰写本文时,Ubuntu 存储库提供 Rust 编译器 v1.61。如果你只有一个 Rust 应用程序项目,并且不需要复杂的项目环境,那么通过 APT 安装 Rust 是一个不错的选择。

首先,运行以下 apt 命令来更新和刷新你的 Ubuntu 存储库。

bash 复制代码
sudo apt update

存储库更新后,运行以下 apt 命令在你的系统上安装 Rust。

bash 复制代码
sudo apt install rustc

出现提示时,输入 y 确认并按 ENTER 继续。

安装 Rust 后,运行以下命令来查找 Rust 二进制文件并验证系统上安装的当前 Rust 版本。

bash 复制代码
which rustc
rustc -Vv

你将收到类似于此屏幕截图的输出 - Rust 二进制文件位于 /usr/bin/rustc,并且系统上安装的当前 Rust 版本是 v1.61.0

安装 Rust 后,你将学习如何使用 Rust 创建第一个"Hello World"程序。

使用你的文本编辑器创建一个新文件 hello-world.rs。对于桌面用户,你可以使用诸如 vscodium 或 sublime-text 之类的代码编辑器。对于 CLI 用户,你可以使用 vim 或 nano。

bash 复制代码
sudo nano hello-world.rs

将以下代码添加到文件中。

rust 复制代码
fn main() {
    println!("Hello World, welcome to Rust.");
}

保存文件并在完成后退出编辑器。

接下来,使用以下 rustc 命令编译 rust 文件 hello-world.rs。这将在你当前的工作目录中生成一个可执行文件 hello-world

bash 复制代码
rustc hello-world.rs

代码编译完成后,执行终端的二进制文件 hello-world

bash 复制代码
./hello-world

你应该收到诸如 **Hello World, welcome to Rust.** 的输出。这确认 hello-world 应用程序已成功编译和执行。

现在,如果你想从你的机器上删除 Rust,你可以通过以下 apt 命令删除它。

bash 复制代码
sudo apt remove rustc
sudo apt autoremove -y

通过 rustup 安装 Rust

如果你想成为 Rust 开发人员,你必须了解 rustup 工具。这是你的 Rust 开发环境的工具链多路复用器。在功能上,rustup 类似于 Ruby 的 rbenv、Node.js 的 nvm 或 Python 的 Pyenv。

使用 rustup,你可以在你的系统上拥有一个隔离的 Rust 开发环境。你可以安装多个 Rust 版本,根据你的项目安装多个版本的开发工具,这些工具可以是用于多个操作系统的交叉编译器。

在此步骤中,你将在你的系统上安装 Rust 和 rustup。你将使用非 root 用户执行此操作,因此安装只会影响你的用户,而不会影响整个系统。

因此,在开始之前,请通过以下命令登录到你的用户。此示例使用名为 alice 的非 root 用户。

bash 复制代码
su - alice

现在,运行以下 apt 命令在你的 Ubuntu 系统上安装软件包依赖项。

bash 复制代码
sudo apt install curl build-essential gcc make

出现提示时,输入 y 并按 ENTER 继续。

https://www.notion.so

安装依赖项后,运行以下命令在当前用户环境中安装 rustup 和 Rust。此命令将下载 rustup 安装程序并在你的系统上执行它。

bash 复制代码
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

在第一个输出中,你应该看到诸如 **Welcome to Rust!** 的欢迎消息,并告知安装脚本将为 Rust 安装 Rust 和 Cargo 包管理器。此外,rustup 将安装在 /home/username/.rustup 目录中。

接下来,你将被要求在你的系统上设置 Rust 安装。这包括默认的 Rust 工具链(Stable、Beta 或 Nightly 版本)和安装 profile(包括 minimal、default 或 complete)。

对于初学者,你可以保留默认安装。输入 1 并按 ENTER 确认。然后,rustup、Rust 和 Cargo 的安装将开始。

安装完成后,你将收到诸如 Rust is installed now. Great! 的输出。此外,你将收到一条指令,要求重新加载当前 shell 以应用 PATH 环境变量的新更改。你也可以从当前会话手动重新加载它。

以下命令将新的 rustup 环境变量加载到当前会话。

bash 复制代码
source "$HOME/.cargo/env"

之后,运行以下命令来验证当前环境中安装的 Rust 版本,并验证 Rust 的二进制路径。

bash 复制代码
rustc -Vv
which rustc

你应该收到类似于此的输出 - 你已通过 rustup 安装了 Rust v1.66 ,并且 Rust 编译器的二进制文件位于 /home/username/.cargo/bin/rustc

此外,Rust 1.66 仅适用于你当前的用户,而不是整个系统

接下来,通过以下命令找到 Cargo 包管理器和 rustup 软件的二进制文件。

bash 复制代码
which cargo
which rustup

你应该看到 cargo 和 rustup 二进制文件都位于 '/home/username/.cargo/bin' 目录中。

最后,通过以下命令验证 Cargo 包管理器版本和 rustup 版本。

bash 复制代码
cargo --version
rustup --version

你将收到类似于此屏幕截图的输出 - Cargo 包管理器 v1.66 和 rustup 1.25 已安装在你的系统上。

这样,你现在已经安装了 Rust,其中包括 Rust 开发工具,例如 Cargo 包管理器、rustc、Clippy、rustfmt 和 rust-docs。在下一步中,你将学习如何通过 rustup 命令行管理你的 Rust 安装。

使用 rustup 管理 Rust 环境

rustup 是一个工具链多路复用器,允许你在你的环境中安装 Rust 编程语言,其中包括 Rust 开发工具,例如 Cargo 包管理器、rustc 等。你可以通过 rustup 安装多个版本的 Rust 编程语言和开发工具。这样,你可以使用不同版本的 Rust 编程语言轻松管理多个项目。

在这些步骤中,你将学习如何通过 rustup 命令管理你的 Rust 环境。你将安装多个 Rust 和开发工具版本,设置和切换到不同的 profile,并通过 rustup 更新你的 Rust 环境。

设置 rustup 命令自动补全

在开始之前,你将为 rustup 命令设置命令自动补全。启用自动补全后,你可以运行 rustup 命令,然后按 TAB 键以获取可用参数的列表。你现在将生成 rustup 自动补全脚本,将生成的脚本加载到你的 shell 中,然后验证自动补全。

通过以下 mkdir 命令创建一个新目录 ~/.local/share/bash-completion/completions/

bash 复制代码
mkdir -p ~/.local/share/bash-completion/completions/

运行以下命令以将 rustup 命令自动补全生成到 ~/.local/share/bash-completion/completions/rustup

bash 复制代码
rustup completions bash > ~/.local/share/bash-completion/completions/rustup

通过以下命令将自动补全加载到当前会话。

bash 复制代码
source ~/.local/share/bash-completion/completions/rustup

最后,键入命令 rustup 并按 TAB 键以获取 rustup 命令的自动补全。

bash 复制代码
rustup TAB

你现在将收到 rustup 命令的可用选项列表,如以下屏幕截图所示。

安装多个 Rust 版本和开发工具

在 rustup 环境中,有多个版本的工具链,包括 stable、beta 和 nightly。工具链是一组 Rust 编程语言和开发工具的软件包。因此,当你通过 rustup 安装多个版本的工具链时,这意味着你还安装了多个版本的 Rust 编程语言和多个版本的 Rust 开发工具。

在你的环境中安装多个工具链,使你可以使用不同版本的 Rust 编程语言管理多个项目。

首先,运行以下 rustup 命令以验证系统上的工具链或 rust 版本列表。你应该收到一个输出,表明 Rust stable 版本已安装在你的系统上。

bash 复制代码
rustup toolchain list

接下来,运行以下命令以安装另一个版本的 Rust/工具链。在此示例中,你将安装 Rust 的 Nightly 版本。

bash 复制代码
rustup toolchain install nightly

你现在将收到如下屏幕截图所示的输出 - 安装 Rust nightly 版本,包括 default rustup profile 上可用的 cargo 包管理器等开发工具。

安装新的 nightly 版本工具链后,运行以下命令以显示系统上已安装的工具链列表。

bash 复制代码
rustup toolchain list

你应该收到如下输出 - 你的系统上安装了两个版本的工具链,默认的 stable 版本和新安装的 nightly 版本。

接下来,运行以下命令将默认工具链切换到 nightly 版本。这意味着你还将开发工具切换到新的 nightly 版本。

bash 复制代码
rustup default nightly

然后,通过以下命令验证 Rust 版本。你应该获得已安装的 Nightly 版本的 Rust v1.6x,并且它已配置为当前环境中的默认 Rust。

bash 复制代码
rustc -Vv

此外,你还可以通过 rustup 命令手动运行特定版本的 Rust。运行以下命令以通过 rustup 命令运行特定的 Rust nightly 版本。

bash 复制代码
rustup run nightly rustc -Vv

你应该收到 Rust nightly 版本 1.68。这意味着你已通过 rustup 命令执行了特定版本的 Rust。你还可以执行其他组件,例如 Cargo 包管理器。

现在你已经了解了 rustup 中的工具链,接下来你将探索你环境中的 rustup profile。

设置 rustup 中的 Profile

你将学习的 rustup 中的另一个概念是"profile",它是你的 Rust 环境的组件组。rustup 中有三个不同的 profile,列表如下:

  • minimal - 仅包括少数组件,例如 rustc 编译器、cargo 包管理器和 rust-std。
  • default - 此 profile 包括 minimal profile 中的组件,但也添加了一些其他工具,例如 rust-docs、rustfmt 和 Clippy。这是你通过 rustup 安装 Rust 时的默认 profile。
  • complete - 此 profile 包括通过 rustup 安装的所有 Rust 组件。除非你知道自己在做什么,否则你不应该使用此 profile。你始终可以通过 rustup 命令手动添加组件。

在本节中,你将学习如何通过 rustup 命令切换到不同的 profile。

运行以下命令以检查应用于你当前环境的 profile。你应该看到已启用 profile default

bash 复制代码
rustup show profile

接下来,运行以下命令以切换到 profile minimal。然后,再次验证你当前的 profile。

bash 复制代码
rustup set profile minimal
rustup show profile

你应该收到如下输出 - 当前 profile 已更改为 minimal

最后,你现在可以通过以下命令将更改恢复为 default profile。

bash 复制代码
rustup set profile default

通过 rustup 更新 Rust

使用 rustup 作为管理 Rust 环境的主要工具的巨大优势在于,你可以轻松地将你的 Rust 编程语言和开发工具的每个组件更新到最新版本。

要更新你的 rust 安装,请运行以下 rustup 命令。这将更新你的 Rust 环境中所有可用的工具链,包括工具链上的开发工具组件,例如 Cargo 包管理器和 rustc 编译器以及 Clippy。

bash 复制代码
rustup update

你现在应该收到如下输出 - rustup 命令会将当前安装的工具链版本同步到 Rust 官方网站上可用的最新版本。每当有新更新可用时,都会应用该更新。

使用 Cargo 创建和管理 Rust 项目

现在你已经学习了如何使用 rustup 管理你的 Rust 开发环境。在此步骤中,你将学习如何使用 Cargo 包管理器来创建 Rust 项目、测试、编译和运行你的 Rust 应用程序。

通过以下 cargo new 命令创建一个新项目 hello-world。这将在你当前的工作目录中创建一个新的项目目录 hello-world

bash 复制代码
cargo new hello-world

更改工作目录 hello-world 并通过以下 tree 命令检查其中的文件列表。你应该看到文件 Cargo.toml,它是 Cargo 包管理器的主要配置,以及用于存储你的 Rust 源代码的目录 src

bash 复制代码
cd hello-world/
tree .

使用你的文本编辑器打开文件 src/main.rs

bash 复制代码
nano src/main.rs

将默认源代码更改为以下行。

rust 复制代码
fn main() {
    println!("Hello World, Rust with rustup and cargo.");
}

保存文件并在完成后退出编辑器。

接下来,运行以下命令以构建和编译 hello-world 项目。此命令将自动将你的 hello-world 项目编译到新目录 target

bash 复制代码
cargo build

现在运行以下 cargo test 命令以验证你的 Rust 项目。

bash 复制代码
cargo test

你应该收到如下输出 - 如果测试成功,你应该收到诸如 test result: ok 的消息。

最后,运行以下命令以执行 hello-world 项目。

bash 复制代码
cargo run

你应该收到如下输出 - hello-world 项目已成功执行。

卸载 Rust 和 rustup

rustup 安装只会影响你当前的用户开发环境,而不会影响整个系统。这将使你的系统保持清洁,并且卸载过程更简单。你可以通过删除 rustup 安装目录 /home/username/.rustup 和 Rust 工具链目录 /home/username.cargo 来卸载 rustup 以及所有工具链和开发工具。

运行以下命令以从你当前的开发环境中卸载 Rust 和 rustup。

bash 复制代码
rm -rf ~/.cargo ~/.rustup

接下来,删除你通过以下命令生成的命令自动补全。

bash 复制代码
rm -f ~/.local/share/bash-completion/completions/rustup

这样,你现在已经从你的系统中卸载并删除了 Rust 和 rustup。

相关链接

雨云 - 新一代云服务提供商: https://rainyun.ivwv.site

我的博客:https://blog.ivwv.site

相关推荐
滴水之功1 小时前
VMware ubuntu16.04怎么设置静态IP联网
linux·ubuntu
广东数字化转型1 小时前
Less和SCSS,哪个更好用?
开发语言·后端·rust
mit6.8241 小时前
[Pro Git#3] 远程仓库 | ssh key | .gitignore配置
linux·git·ubuntu
air_7291 小时前
抓包分析DHCP的工作过程
linux·运维·服务器·网络·华为·dhcp
weixin_439738481 小时前
IOS通过WDA自动化中遇到的问题
运维·ios·自动化
学Linux的语莫1 小时前
负载均衡,高可用,监控服务搭建总结
linux·服务器·分布式·ceph·lvs
wjcroom1 小时前
caddy的负载均衡和主动健康检测-会议签到的调优
运维·负载均衡
GIS 数据栈1 小时前
geoserver 瓦片地图,tomcat和nginx实现负载均衡
java·运维·nginx·tomcat·负载均衡
小技与小术1 小时前
docker搭建haproxy实现负载均衡
linux·运维·docker·容器·负载均衡
IT界的奇葩1 小时前
idea报错Command line is too long.
java·ide·intellij-idea