介绍
Rust 编程语言,也被称为 rust-lang,是一个强大的通用编程语言. Rust 语法类似于 C++,用于广泛的软件开发项目,包括浏览器组件,游戏引擎和操作系统。
在本教程中,您将在Ubuntu 20.04上安装最新版本的Rust,然后创建,编译和运行测试程序。
<$>[注]
**注:**本教程也适用于Ubuntu 22.04,但在运行apt upgrade
时,您可能会收到交互式对话对各种问题。例如,您可能会被问及在需要时是否想要自动重新启动服务,或者是否想要更换您已修改的配置文件。
前提条件
要完成本教程,您需要一个 Ubuntu 20.04 服务器,具有 sudo 允许的非根用户和防火墙。
步骤 1 — 使用rustup
工具在Ubuntu上安装Rust
虽然在 Linux 上安装 Rust 有几种不同的方法,但建议的方法是使用rustup
命令行工具。
运行命令来下载rustup
工具并安装 Rust 的最新稳定版本:
1curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh
请您选择安装的类型:
1[secondary_label Output]
2sammy@ubuntu:~$ curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh
3info: downloading installer
4
5Welcome to Rust!
6
7This will download and install the official compiler for the Rust
8programming language, and its package manager, Cargo.
9
10Rustup metadata and toolchains will be installed into the Rustup
11home directory, located at:
12
13 /home/sammy/.rustup
14
15This can be modified with the RUSTUP_HOME environment variable.
16
17The Cargo home directory is located at:
18
19 /home/sammy/.cargo
20
21This can be modified with the CARGO_HOME environment variable.
22
23The cargo, rustc, rustup and other commands will be added to
24Cargo's bin directory, located at:
25
26 /home/sammy/.cargo/bin
27
28This path will then be added to your PATH environment variable by
29modifying the profile files located at:
30
31 /home/sammy/.profile
32 /home/sammy/.bashrc
33
34You can uninstall at any time with rustup self uninstall and
35these changes will be reverted.
36
37Current installation options:
38
39 default host triple: x86_64-unknown-linux-gnu
40 default toolchain: stable (default)
41 profile: default
42 modify PATH variable: yes
43
441) Proceed with installation (default)
452) Customize installation
463) Cancel installation
47>
本教程使用了默认选项1. 但是,如果您熟悉rustup
安装程序并希望定制您的安装,您可以选择选项2. 输入您的选择并按Enter
。
选择1的输出是:
1[secondary_label Output]
2info: profile set to 'default'
3info: default host triple is x86_64-unknown-linux-gnu
4info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
5info: latest update on 2023-01-10, rust version 1.66.1 (90743e729 2023-01-10)
6info: downloading component 'cargo'
7info: downloading component 'clippy'
8info: downloading component 'rust-docs'
9info: downloading component 'rust-std'
10info: downloading component 'rustc'
11 67.4 MiB / 67.4 MiB (100 %) 40.9 MiB/s in 1s ETA: 0s
12info: downloading component 'rustfmt'
13info: installing component 'cargo'
14 6.6 MiB / 6.6 MiB (100 %) 5.5 MiB/s in 1s ETA: 0s
15info: installing component 'clippy'
16info: installing component 'rust-docs'
17 19.1 MiB / 19.1 MiB (100 %) 2.4 MiB/s in 7s ETA: 0s
18info: installing component 'rust-std'
19 30.0 MiB / 30.0 MiB (100 %) 5.6 MiB/s in 5s ETA: 0s
20info: installing component 'rustc'
21 67.4 MiB / 67.4 MiB (100 %) 5.9 MiB/s in 11s ETA: 0s
22info: installing component 'rustfmt'
23info: default toolchain set to 'stable-x86_64-unknown-linux-gnu'
24
25 stable-x86_64-unknown-linux-gnu installed - rustc 1.66.1 (90743e729 2023-01-10)
26
27Rust is installed now. Great!
28
29To get started you may need to restart your current shell.
30This would reload your PATH environment variable to include
31Cargo's bin directory ($HOME/.cargo/bin).
32
33To configure your current shell, run:
34source "$HOME/.cargo/env"
35sammy@ubuntu:~$
接下来,运行以下命令,将 Rust 工具链目录添加到 PATH 环境变量:
1source $HOME/.cargo/env
步骤 2 – 检查安装
通过请求版本来验证 Rust 安装:
1rustc --version
「rustc --version」命令返回您系统上安装的 Rust 编程语言的版本。
1[secondary_label Output]
2sammy@ubuntu:~$ rustc --version
3rustc 1.66.1 (90743e729 2023-01-10)
4sammy@ubuntu:~$
步骤 3 – 安装编译器
Rust 需要一个链接程序来将编译的输出连接到一个文件中。 GNU 编译器集合(‘gcc’)在‘build-essential’包中包含一个链接器。
1error: linker `cc` not found
2 |
3 = note: No such file or directory (os error 2)
4
5error: aborting due to previous error
您将使用apt
来安装build-essential
包。
首先,更新 Apt 包索引:
1sudo apt update
如果被提示,请输入密码以继续使用。apt update
命令输出可升级的包列表。
1[secondary_label Output]
2sammy@ubuntu:~$ sudo apt update
3[sudo] password for sammy:
4Hit:1 http://mirrors.digitalocean.com/ubuntu focal InRelease
5Get:2 http://mirrors.digitalocean.com/ubuntu focal-updates InRelease [114 kB]
6Hit:3 https://repos-droplet.digitalocean.com/apt/droplet-agent main InRelease
7Get:4 http://mirrors.digitalocean.com/ubuntu focal-backports InRelease [108 kB]
8Get:5 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
9Get:6 http://mirrors.digitalocean.com/ubuntu focal-updates/main amd64 Packages [2336 kB]
10Get:7 http://mirrors.digitalocean.com/ubuntu focal-updates/main Translation-en [403 kB]
11Get:8 http://mirrors.digitalocean.com/ubuntu focal-updates/main amd64 c-n-f Metadata [16.2 kB]
12Get:9 http://mirrors.digitalocean.com/ubuntu focal-updates/restricted amd64 Packages [1560 kB]
13Get:10 http://mirrors.digitalocean.com/ubuntu focal-updates/restricted Translation-en [220 kB]
14Get:11 http://mirrors.digitalocean.com/ubuntu focal-updates/restricted amd64 c-n-f Metadata [620 B]
15Get:12 http://mirrors.digitalocean.com/ubuntu focal-updates/universe amd64 Packages [1017 kB]
16Get:13 http://mirrors.digitalocean.com/ubuntu focal-updates/universe Translation-en [236 kB]
17Get:14 http://mirrors.digitalocean.com/ubuntu focal-updates/universe amd64 c-n-f Metadata [23.2 kB]
18Get:15 http://mirrors.digitalocean.com/ubuntu focal-updates/multiverse amd64 Packages [25.2 kB]
19Get:16 http://mirrors.digitalocean.com/ubuntu focal-updates/multiverse Translation-en [7408 B]
20Get:17 http://mirrors.digitalocean.com/ubuntu focal-updates/multiverse amd64 c-n-f Metadata [604 B]
21Get:18 http://mirrors.digitalocean.com/ubuntu focal-backports/main amd64 Packages [45.7 kB]
22Get:19 http://mirrors.digitalocean.com/ubuntu focal-backports/main Translation-en [16.3 kB]
23Get:20 http://mirrors.digitalocean.com/ubuntu focal-backports/main amd64 c-n-f Metadata [1420 B]
24Get:21 http://mirrors.digitalocean.com/ubuntu focal-backports/universe amd64 Packages [24.9 kB]
25Get:22 http://mirrors.digitalocean.com/ubuntu focal-backports/universe Translation-en [16.3 kB]
26Get:23 http://mirrors.digitalocean.com/ubuntu focal-backports/universe amd64 c-n-f Metadata [880 B]
27Get:24 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [1960 kB]
28Get:25 http://security.ubuntu.com/ubuntu focal-security/main Translation-en [320 kB]
29Get:26 http://security.ubuntu.com/ubuntu focal-security/main amd64 c-n-f Metadata [11.7 kB]
30Get:27 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [1463 kB]
31Get:28 http://security.ubuntu.com/ubuntu focal-security/restricted Translation-en [207 kB]
32Get:29 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 c-n-f Metadata [624 B]
33Get:30 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [786 kB]
34Get:31 http://security.ubuntu.com/ubuntu focal-security/universe Translation-en [152 kB]
35Get:32 http://security.ubuntu.com/ubuntu focal-security/universe amd64 c-n-f Metadata [16.9 kB]
36Get:33 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 Packages [22.2 kB]
37Get:34 http://security.ubuntu.com/ubuntu focal-security/multiverse Translation-en [5464 B]
38Get:35 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 c-n-f Metadata [516 B]
39Fetched 11.2 MB in 5s (2131 kB/s)
40Reading package lists... Done
41Building dependency tree
42Reading state information... Done
43103 packages can be upgraded. Run 'apt list --upgradable' to see them.
44sammy@ubuntu:~$
接下来,升级任何过时的包:
1sudo apt upgrade
输入Y
,如果被要求继续升级。
升级完成后,安装build-essential
包:
1sudo apt install build-essential
当被要求继续安装时输入Y
。当您的终端返回命令提示时,安装完成,没有错误消息。
步骤 4 – 创建、编译和运行测试程序
在此步骤中,您将创建一个测试程序来尝试Rust并验证它是否正常工作。
首先,创建一些目录来存储测试脚本:
1mkdir ~/rustprojects
2cd ~/rustprojects
3mkdir testdir
4cd testdir
使用nano
,或您最喜欢的文本编辑器,在testdir
中创建一个文件来存储您的Rust代码:
1nano test.rs
您需要为所有 Rust 程序使用 .rs
扩展。
将以下代码复制到 test.rs
并保存文件:
1[label test.rs]
2fn main() {
3 println!("Congratulations! Your Rust program works.");
4}
使用rustc
命令编译代码:
1rustc test.rs
运行结果的可执行:
1./test
该程序打印到终端:
1[secondary_label Output]
2sammy@ubuntu:~/rustprojects/testdir$ ./test
3Congratulations! Your Rust program works.
4sammy@ubuntu:~/rustprojects/testdir$
其他常用的 Rust 命令
这是一个好主意,定期更新 Ubuntu 上的 Rust 安装。
输入以下命令来更新 Rust:
1rustup update
您也可以从您的系统中删除 Rust,以及其相关的存储库。
输入以下命令来卸载 Rust:
1rustup self uninstall
您被要求输入Y
,以继续卸载过程:
1[secondary_label Output]
2ammy@ubuntu:~/rustprojects/testdir$ rustup self uninstall
3
4Thanks for hacking in Rust!
5
6This will uninstall all Rust toolchains and data, and remove
7$HOME/.cargo/bin from your PATH environment variable.
8
9Continue? (y/N)
输入Y
以继续:
1[secondary_label Output]
2Continue? (y/N) y
3
4info: removing rustup home
5info: removing cargo home
6info: removing rustup binaries
7info: rustup is uninstalled
8sammy@ubuntu:~/rustprojects/testdir$
Rust 已从您的系统中删除。
结论
现在你已经在Ubuntu上安装并测试了Rust,继续学习更多 Ubuntu教程。