当前位置: 首页 > news >正文

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

相关文章:

  • 网络运维与网络安全 学习笔记2023.11.18
  • MIUI解锁BL
  • YOLOv8优化与量化(1000+ FPS性能)
  • Kotlin语言实现单击任意TextVIew切换一个新页面,并且实现颜色变换
  • 基础组件-流量回放(全链路流量回放预研)
  • k8s-集群升级 2
  • 【OpenCV实现图像:OpenCV进行OCR字符分割】
  • C语言 原码、反码、补码
  • MySQL 定时计划任务 事件的使用
  • 蓝桥杯第三周算法竞赛D题E题
  • 导航守卫有哪三种?
  • jenkins+centos7上传发布net6+gitlab
  • C++单调向量算法:132 模式解法三枚举1
  • 【每日一题】—— C. Yarik and Array(Codeforces Round 909 (Div. 3))(贪心)
  • 【具身智能评估1】具身视觉语言规划(EVLP)仿真环境汇总
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • CSS3 变换
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • mysql 5.6 原生Online DDL解析
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • vagrant 添加本地 box 安装 laravel homestead
  • Vue全家桶实现一个Web App
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 仿天猫超市收藏抛物线动画工具库
  • 排序算法之--选择排序
  • 前端技术周刊 2019-01-14:客户端存储
  • 前端面试之CSS3新特性
  • 我看到的前端
  • 一个项目push到多个远程Git仓库
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • Semaphore
  • 积累各种好的链接
  • 移动端高清、多屏适配方案
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​第20课 在Android Native开发中加入新的C++类
  • !$boo在php中什么意思,php前戏
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • $ git push -u origin master 推送到远程库出错
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (十)c52学习之旅-定时器实验
  • (四)汇编语言——简单程序
  • (一)Java算法:二分查找
  • (一)基于IDEA的JAVA基础10
  • (转)ORM
  • (转载)CentOS查看系统信息|CentOS查看命令
  • ***监测系统的构建(chkrootkit )
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .NET MVC第三章、三种传值方式
  • .NET 回调、接口回调、 委托
  • .Net(C#)常用转换byte转uint32、byte转float等