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把下边的内容填写进去:

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。下边有几个备用选项。

# 清华大学
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 镜像,把下边的内容填进去:

[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文件,就是相当于如下所示:

├── Cargo.toml
└── src/└── main.rs

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

[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把内容修改如下:

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 语言从入门到实战》。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/192910.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NPM 与 XUI 共存!Nginx Proxy Manager 搭配 X-UI 实现 Vless+WS+TLS 教程!

之前分享过搭建可以与宝塔共存的一个 “魔法” 服务器状态监控应用 ——xui,支持 VmessWSTLS。 最近 Docker 视频出的比较多,前阵子又出现了宝塔国内版存在隐私泄露的问题,很多小伙伴其实都不用宝塔了,那么,在我们现在…

基于django的在线教育系统

基于python的在线教育系统 摘要 基于Django的在线教育系统是一种利用Django框架开发的现代化教育平台。该系统旨在提供高效、灵活、易用的在线学习体验,满足学生、教师和管理员的需求。系统包括学生管理、课程管理、教师管理、视频课程、在线测验等核心功能。系统采…

python趣味编程-5分钟实现一个打字速度测试(含源码、步骤讲解)

Python速度打字测试是用 Python 编程语言编写的,速度打字测试 Python项目理念,我们将构建一个令人兴奋的项目,通过它您可以 检查 甚至 提高 您的打字速度。 为了创建图形用户界面(GUI),我们将使用 用于处理图形的pygame库。 Python 打字速度测试有利于学生或初学者提高…

python中的NumPy和Pandas往往都是同时使用,NumPy和Pandas的在数据分析中的联合使用

文章目录 前言一、numpy的介绍与用法二、pandas的介绍与用法三、numpy与pandas的联合使用说明四、numpy与pandas的联合使用程序代码4.1 读取CSV文件并进行数据清洗,如去除NaN值4.2 矩阵操作和特征工程,如标准化处理4.3 使用Pandas进行数据筛选和分组聚合…

Android resource/drawable转换成Uri,Kotlin

Android resource/drawable转换成Uri,Kotlin private fun convertResource2Uri(resId: Int): Uri {return Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE "://" resources.getResourcePackageName(resId) / resources.getResourceTypeName(resI…

golang学习笔记——接口

文章目录 Go 语言接口例子空接口空接口的定义空接口的应用空接口作为函数的参数空接口作为map的值 类型断言接口值 类型断言例子001类型断言例子002 Go 语言接口 接口(interface)定义了一个对象的行为规范,只定义规范不实现,由具…

基于传统Session的登录

前言: 本人的一些简历上要回答的点。所以再此整理。 亮点: 使用Filter过滤器进行未登录状态自动跳转到登录页面的拦截,实现统一的权限管理。 1 登陆功能 1.1实体类和结果类 前端页面 约定 res.data.code为1时是登录成功。 数据库的empl…

【C++】【Opencv】cv::warpAffine()仿射变换函数详解,实现平移、缩放和旋转等功能

仿射变换是一种二维变换,它可以将一个二维图形映射到另一个二维图形上,保持了图形的“形状”和“大小”不变,但可能会改变图形的方向和位置。仿射变换可以用一个线性变换矩阵来表示,该矩阵包含了六个参数,可以进行平移…

PXE高效批量网络装机

目录 一.PXE 1. 系统装机的三种引导方式 2. 系统安装过程 3. 光盘安装相关文件 4. PXE简介 5. 实现过程 6. PXE优点 二.PXE实现过程 1. 实验准备 2. 搭建DHCP服务器 3. 配置TFTP服务器 4. 准备pxelinu.0文件 5. 挂载镜像准备内核、驱动文件 6. 手写配置文件 7. 准…

linux如何使用shell远程连接

简介:本文的一切条件基于redhat的linux操作系统。 1、创建虚拟机: 如有需要,请转至【linux基础】在VMware上安装RHEL9详细教程_融社的博客-CSDN博客 (如若侵权,该篇立删) 2、使用命令查看网段信息 打…

生命科学领域 - FAIR原则和如果使数据FAIR化

2016年,《Scientific Data》发表了《科学数据管理和监督的FAIR指导原则》(FAIR Guiding Principles for scientific data management and stewardship)。文章旨在提供指导方针,以提高数字资产的可发现性、可访问性、互操作性和重用…

代码随想录算法训练营第25天|216.组合总和III 17.电话号码的字母组合

JAVA代码编写 216. 组合总和III 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。 示例 1: 输入: k …