一条命令完成全部安装
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