centos安装Rust

一条命令完成全部安装

bash 复制代码
echo "中途需要按回车键确认安装"; yum install -y gcc ;echo "export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static";echo "export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup";echo "export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static" >> /etc/profile;echo "export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup" >> /etc/profile;source  /etc/profile;curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh &&source $HOME/.cargo/env &&rustc -V &&echo "${HOME}/.cargo/config";echo "[source.crates-io]" ;echo 'registry = "https://github.com/rust-lang/crates.io-index"' ;echo "replace-with = 'ustc'";echo "[source.ustc]" ;echo 'registry = "git://mirrors.ustc.edu.cn/crates.io-index"' ;echo "[source.crates-io]" >>  ${HOME}/.cargo/config &&echo 'registry = "https://github.com/rust-lang/crates.io-index"' >>  ${HOME}/.cargo/config &&echo "replace-with = 'ustc'" >>  ${HOME}/.cargo/config &&echo "[source.ustc]" >>  ${HOME}/.cargo/config &&echo 'registry = "git://mirrors.ustc.edu.cn/crates.io-index"' >>  ${HOME}/.cargo/config

安装完成后,需要验证是否可用,请跳转到后边的: 使用Rust ,以验证

安装Rust

依赖准备

安装gcc

bash 复制代码
yum install -y gcc

换国内源下载

两条命令进行国内下载安装文件地址配置

bash 复制代码
vim /etc/profile

在最后填写如下内容

bash 复制代码
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup

使得环境变量生效

bash 复制代码
source  /etc/profile

安装

使用命令安装,中间会有阻塞等待输入,直接按回车就是默认安装

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

配置环境变量

安装完成后,需要添加环境变量,才能生效

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

安装完成检查

查看版本

bash 复制代码
rustc -V
# 输出 > rustc 1.77.1 (7cf61ebde 2024-03-27)

依赖包换源

bash 复制代码
vim ${HOME}/.cargo/config 

然后输入下边的内容来设置国内依赖包下载地址

bash 复制代码
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"

使用Rust

Hello world

bash 复制代码
vim helloworld.rs

输入内容:

rust 复制代码
fn main(){
        let test = "Hello, I love the world!";
        println!("{}",test);
}

编译运行

bash 复制代码
rustc helloworld.rs  # 编译
./helloworld # 运行编译后生成的文件

使用依赖包

创建程序

例如使用 random 的包;这需要创建一个二进制程序:

bash 复制代码
cargo new rustrandom
cd rustrandom

创建的 rustrandom 的目录结构是

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

添加包

vim Cargo.toml

在内容的最后添加:

bash 复制代码
rand = "0.6.5"

Cargo.toml

bash 复制代码
[package]
name = "rustrandom"
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"

使用包

编辑 rustrandom 目录下的 src/main.rs 文件
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);
}

运行

cargo run

首次运行会下载安装依赖包

bash 复制代码
 cargo run  
    Updating `ustc` index
  Downloaded autocfg v0.1.8 (registry `ustc`)
  Downloaded autocfg v1.2.0 (registry `ustc`)
  Downloaded rand_isaac v0.1.1 (registry `ustc`)
  Downloaded rand v0.6.5 (registry `ustc`)
  Downloaded rand_jitter v0.1.4 (registry `ustc`)
  Downloaded rand_core v0.3.1 (registry `ustc`)
  Downloaded libc v0.2.153 (registry `ustc`)
  Downloaded rand_pcg v0.1.2 (registry `ustc`)
  Downloaded rand_os v0.1.3 (registry `ustc`)
  Downloaded rand_chacha v0.1.1 (registry `ustc`)
  Downloaded rand_core v0.4.2 (registry `ustc`)
  Downloaded rand_xorshift v0.1.1 (registry `ustc`)
  Downloaded rand_hc v0.1.0 (registry `ustc`)
  Downloaded 13 crates (999.2 KB) in 1.19s
   Compiling autocfg v1.2.0
   Compiling rand_core v0.4.2
   Compiling autocfg v0.1.8
   Compiling rand_core v0.3.1
   Compiling libc v0.2.153
   Compiling rand_chacha v0.1.1
   Compiling rand_pcg v0.1.2
   Compiling rand v0.6.5
   Compiling rand_os v0.1.3
   Compiling rand_hc v0.1.0
   Compiling rand_xorshift v0.1.1
   Compiling rand_isaac v0.1.1
   Compiling rand_jitter v0.1.4
   Compiling rustrandom v0.1.0 (/root/rustrandom)
    Finished dev [unoptimized + debuginfo] target(s) in 4m 43s
     Running `target/debug/rustrandom`
生成在0(包括)到100(包括)之间的数:27

再次运行就不会下载了。

全部命令

bash 复制代码
echo "中途需要按回车键确认安装"; yum install -y gcc ;

echo "export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static";
echo "export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup";
echo "export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static" >> /etc/profile;
echo "export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup" >> /etc/profile;

source  /etc/profile;

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh &&

source $HOME/.cargo/env && 

rustc -V && 

echo "${HOME}/.cargo/config";


echo "[source.crates-io]" ;
echo 'registry = "https://github.com/rust-lang/crates.io-index"' ;
echo "replace-with = 'ustc'";
echo "[source.ustc]" ;
echo 'registry = "git://mirrors.ustc.edu.cn/crates.io-index"' ;
echo "[source.crates-io]" >>  ${HOME}/.cargo/config &&
echo 'registry = "https://github.com/rust-lang/crates.io-index"' >>  ${HOME}/.cargo/config &&
echo "replace-with = 'ustc'" >>  ${HOME}/.cargo/config &&
echo "[source.ustc]" >>  ${HOME}/.cargo/config &&
echo 'registry = "git://mirrors.ustc.edu.cn/crates.io-index"' >>  ${HOME}/.cargo/config 
相关推荐
Aspiresky30 分钟前
浅析Linux进程信号处理机制:基本原理及应用
linux·运维·信号处理
ajassi20001 小时前
linux C 语言开发 (八) 进程基础
linux·运维·服务器
..过云雨2 小时前
05.【Linux系统编程】进程(冯诺依曼体系结构、进程概念、进程状态(注意僵尸和孤儿)、进程优先级、进程切换和调度)
linux·笔记·学习
咸甜适中2 小时前
rust语言 (1.88) egui (0.32.2) 学习笔记(逐行注释)(二十八)使用图片控件显示图片
笔记·学习·rust·egui
matlab的学徒2 小时前
Web与Nginx网站服务(改)
linux·运维·前端·nginx·tomcat
Insist7532 小时前
prometheus安装部署与alertmanager邮箱告警
linux·运维·grafana·prometheus
BAGAE3 小时前
MODBUS 通信协议详细介绍
linux·嵌入式硬件·物联网·硬件架构·iot·嵌入式实时数据库·rtdbs
灿烂阳光g3 小时前
SELinux 策略文件编写
android·linux
xqlily3 小时前
Linux操作系统之Ubuntu
linux·运维·ubuntu
阿部多瑞 ABU3 小时前
《基于国产Linux的机房终端安全重构方案》
linux·安全