1. 安装rust
根据官网提示和自己的系统选择安装方式, mac和linux可以直接使用命令行 
1.1 更新rust
- 更新rust: rustup update
- 卸载: rustup self uninstall
- 添加组件: rustup component add rustfmt
- 查看版本: rustup --version
1.2 Rust的两种版本 Stable与Nightly
- 
stable: 最稳定和可靠的版本 
- 
nightly: 每天构建的最新版本 
- 
安装: rustup install stable/nightly 
- 
切换: rustup default stable/nightly 
2. 编译器与包管理工具
2.1. Rust编译语言的编译器rustc
- 查看版本: rustc --version
- 编译生成二进制文件: rustc -o output_filename filename.rs
- 编译生成库文件: rustc --crate-type lib filename.rs
2.2 Rust的包管理工具Cargo
- 隐式的使用rustc进行编译
- 命令
- 创建:
- rust项目: cargo new project_name
- rust库项目: cargo new --lib project_name
 
- 构建项目(生成二进制可执行文件或库文件):
- cargo build
- cargo build --release 为生成优化的可执行文件,常用于生产环境
 
- 检测: cargo check
- 运行/测试: cargo run/cargo test
 
- 创建:
2.3 项目结构
库:
- project_name/
- Cargo.toml
- src/
 
可以执行二进制:
- project_name
- Cargo.toml
- src/
 
Cargo.toml文件

- 
package: - 设置项目名
- 版本等等
 
- 
dependencies: - 设置依赖
- 
build-dependencies\]列出了在构建项目时需要的依赖项 
 
3. 获取Rust库
- Rust库官方网站: crates.io
3.1 方式一:
- 修改Cargo.toml文件
以random库为例:
- 在Cargo.toml文件下添加依赖
            
            
              rust
              
              
            
          
          random = "=0.14.0"- 使用提供的example测试
            
            
              rust
              
              
            
          
          use random::Source;
fn main() {
    let mut source = random::default(42);
    println!("Scalar: {:?}", source.read::<f64>());
    println!("Vector: {:?}", source.iter().take(2).collect::<Vec<f64>>());
}3.2 方式二: cargo-edit
- 安装: cargo install cargo-edit
- 添加库
- cargo add [dependency_name]
- 安装指定版本: cargo add [dependency_name]@123
- 添加开发时用的依赖库: cargo add --dev dev_dependency_name
- 添加构建时用的依赖库: cargo add --build build_dependency_name
 
- 删除库: cargo rm [dependency_name]
3.3 设置国内源
推荐: rsproxy.cn
设置 crates.io 镜像, 修改配置 ~/.cargo/config,已支持git协议和sparse协议,>=1.68 版本建议使用 sparse-index,速度更快
            
            
              rust
              
              
            
          
          [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