Rust环境配置

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/

可以执行二进制:

  • project_name

Cargo.toml文件

  • package:

    • 设置项目名
    • 版本等等
  • dependencies:

    • 设置依赖
    • build-dependencies\]列出了在构建项目时需要的依赖项

3. 获取Rust库

3.1 方式一:

  • 修改Cargo.toml文件

以random库为例:

  1. 在Cargo.toml文件下添加依赖
rust 复制代码
random = "=0.14.0"
  1. 使用提供的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

  1. 安装: cargo install cargo-edit
  2. 添加库
    • cargo add [dependency_name]
    • 安装指定版本: cargo add [dependency_name]@123
    • 添加开发时用的依赖库: cargo add --dev dev_dependency_name
    • 添加构建时用的依赖库: cargo add --build build_dependency_name
  3. 删除库: 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
相关推荐
古城小栈10 小时前
Rust 迭代器产出的引用层数——分水岭
开发语言·rust
peterfei14 小时前
IfAI v0.2.8 技术深度解析:从"工具"到"平台"的架构演进
rust·ai编程
栈与堆18 小时前
LeetCode-1-两数之和
java·数据结构·后端·python·算法·leetcode·rust
superman超哥18 小时前
双端迭代器(DoubleEndedIterator):Rust双向遍历的优雅实现
开发语言·后端·rust·双端迭代器·rust双向遍历
福大大架构师每日一题19 小时前
2026年1月TIOBE编程语言排行榜,Go语言排名第16,Rust语言排名13。C# 当选 2025 年度编程语言。
golang·rust·c#
superman超哥21 小时前
精确大小迭代器(ExactSizeIterator):Rust性能优化的隐藏利器
开发语言·后端·rust·编程语言·rust性能优化·精确大小迭代器
superman超哥1 天前
惰性求值(Lazy Evaluation)机制:Rust 中的优雅与高效
开发语言·后端·rust·编程语言·lazy evaluation·rust惰性求值
古城小栈1 天前
Rust IO 操作 一文全解析
开发语言·rust
superman超哥1 天前
迭代器适配器(map、filter、fold等):Rust函数式编程的艺术
开发语言·rust·编程语言·rust map·rust filter·rust fold·rust函数式
superman超哥1 天前
Iterator Trait 的核心方法:深入理解与实践
开发语言·后端·rust·iterator trait·trait核心方法