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 
相关推荐
H_oRIZoN_4 小时前
Linux入门DAY41(51 单片机 串口与通信协议)
linux·运维·单片机
GeW5 小时前
RHCE备考别瞎学!按这个计划走,30天提高通过率,快速拿证
linux
Escalating_xu6 小时前
【System V 信号量】从 P/V 原语到 Builder 封装:写出可控、可清理的进程互斥组件
java·linux·开发语言·jvm
傲世仙尊6 小时前
System V 进程间通信详解:共享内存、消息队列与信号量(CSDN博客)
linux·开发语言·c++
码农小韩6 小时前
Linux应用开发(六)——进程间通信
linux·linux驱动·嵌入式软件开发·嵌入式操作系统·linux应用
笨笨饿7 小时前
#138_解决Codex要五次回复的问题
linux·stm32·单片机·嵌入式硬件·mcu·物联网·嵌入式实时数据库
m0_459872927 小时前
Linux 系统基础
linux·运维·服务器
吴声子夜歌7 小时前
Shell编程——数组
linux·运维·shell
blueSatchel8 小时前
ros-humble仿真-建图-导航
linux·ros2
Lucis__8 小时前
基于责任链模式的消息队列—异步处理流水线的最佳实践
linux·c++·消息队列·责任链模式·ipc