Ubuntu 22.04安装Rust编译环境并且测试

我参考的博客是《Rust使用国内Crates 源、 rustup源 |字节跳动新的 Rust 镜像源以及安装rust》
lsb_release -r看到操作系统版本是22.04,uname -r看到内核版本是uname -r

sudo apt install -y gcc先安装gcc,要是结果给我的一样的话,那么就是安装好了gcc

sudo vim /etc/profile把下边的内容填写进去:

shell 复制代码
export RUSTUP_DIST_SERVER="https://rsproxy.cn"
export RUSTUP_UPDATE_ROOT="https://rsproxy.cn/rustup"

sudo tail -n 2 /etc/profile看一下最后2行的内容,source /etc/profile使环境变量生效。

环境变量RUSTUP_DIST_SERVER用于更新toolchainRUSTUP_UPDATE_ROOT用于更新rustup。下边有几个备用选项。

shell 复制代码
# 清华大学
RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup

# 中国科学技术大学
RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup

# 上海交通大学
RUSTUP_DIST_SERVER=https://mirrors.sjtug.sjtu.edu.cn/rust-static/

sudo curl --proto '=https' --tlsv1.2 -sSf https://rsproxy.cn/rustup-init.sh | sh进行安装。

完成之后,如下图:

source "$HOME/.cargo/env"使环境变量生效。

sudo vim ~/.cargo/config设置一下crates.io 镜像,把下边的内容填进去:

shell 复制代码
[source.crates-io]
replace-with = 'rsproxy-sparse'
[source.rsproxy]
registry = "https://rsproxy.cn/crates.io-index"
[source.rsproxy-sparse]
registry = "sparse+https://rsproxy.cn/index/"
[registries.rsproxy]
index = "https://rsproxy.cn/crates.io-index"
[net]
git-fetch-with-cli = true

sudo cat ~/.cargo/config可以看到填入的信息。

cargo new rustTest创建二进制程序,cd rustTest进入源代码目录下。

ls -lR看一下当前目录下的内容。

可以看到当前目录下有一个Cargo.toml文件和src目录,而src目录下有main.rs文件,就是相当于如下所示:

shell 复制代码
├── Cargo.toml
└── src/
    └── main.rs

Cargo.toml的最后填上内容rand = "0.6.5",最后Cargo.toml里边的内容如下:

shell 复制代码
[package]
name = "rustTest"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
rand = "0.6.5"


sudo vim src/main.rs把内容修改如下:

rust 复制代码
extern crate rand;
use rand::Rng;
fn main() {
   let num = rand::thread_rng().gen_range(0, 100);
    println!("生成在0(包括)到100(包括)之间的数:{}", num);
}

然后在当前rustTest目录下,使用cargo run进行编译运行,这次运行的输出内容是生成在0(包括)到100(包括)之间的数:84

完成测试。

此文章为11月Day 18学习笔记,内容来源于极客时间《Rust 语言从入门到实战》

相关推荐
Ghost Face...9 分钟前
深入解析dd命令:缓存与磁盘速度之谜
linux·缓存
dishugj14 分钟前
【Linux】CENTOS 7服务器chronyd同步本地时间服务器时间设置详解
linux·运维·服务器
*老工具人了*17 分钟前
Linux I/O写数据全链路拆解
linux·运维
_OP_CHEN25 分钟前
【Git原理与使用】(四)Git 远程操作与标签管理全解析:从分布式协作到版本标记最全攻略
linux·运维·分布式·git·git远程仓库·企业级组件·git标签管理
艾莉丝努力练剑26 分钟前
【Linux基础开发工具 (七)】Git 版本管理全流程与 GDB / CGDB 调试技巧
大数据·linux·运维·服务器·git·安全·elasticsearch
shandianchengzi28 分钟前
【记录】ARM|Ubuntu 24 快速安装 arm-none-eabi-gdb 及 QEMU 调试实战
linux·arm开发·ubuntu·arm·qemu
学困昇32 分钟前
Linux 进程概念与内存管理详解(含冯诺依曼体系结构、环境变量、调度算法)
linux·c语言·开发语言·网络·数据结构·c++
为什么要内卷,摆烂不香吗33 分钟前
sed 流编辑器练习自用
linux·运维·编辑器
大志若愚YYZ33 分钟前
嵌入式Linux初探索——点灯背后的驱动层与应用层及其交互
linux
杜子不疼.35 分钟前
【Linux】多机管理终极方案:禁用 root 密码,用面板实现批量部署 + 操作追溯
linux·运维·服务器