Rust入门-环境配置
前言
Rust 是一种系统级编程语言,它的设计目标是提供高性能、安全性和并发性。
Rust 的主要优势包括:
- 高性能:Rust 的编译器使用 LLVM 作为后端,能够生成高效的机器代码。同时,Rust 的内存管理机制可以避免内存泄漏和不安全的指针操作,进一步提高了程序的性能。
- 内存安全:Rust 的内存安全机制通过所有权和借用规则,避免了内存泄漏、野指针和缓冲区溢出等常见的安全问题。这使得 Rust 适用于编写高性能和安全性要求较高的系统级程序。
- 并发性:Rust 的所有权和借用规则,以及线程安全的数据类型,可以帮助开发者编写安全和高效的并发程序。
- 生态系统:Rust 拥有一个活跃的社区和丰富的包管理器 Cargo,开发者可以方便地使用已有的 Rust crate 来构建项目,也可以发布自己的 crate 给其他开发者使用。
- 可移植性:Rust 的编译器支持多种操作系统和 CPU 架构,可以在各种环境下编译和运行。
总之,Rust 是一种高性能、安全和并发的系统级编程语言,它的设计理念和特性使得它成为开发高性能、安全和可靠系统的优秀选择。
Rust安装
最后,请前往 https://www.rust-lang.org/zh-CN/tools/install 来安装 rustup (Rust 安装程序)。
下载镜像
添加环境变量
1 | RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup |
测试
1 | echo %RUSTUP_DIST_SERVER% |
提示:
这里我们使用的是清华大学 TUNA 的镜像源,它非常稳定且速度快。
你也可以选择中科大或阿里云的镜像源,地址如下:
中科大 (USTC)
1 | RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static |
阿里云 (Aliyun)
1 | RUSTUP_DIST_SERVER=https://mirrors.aliyun.com/rustup |
Linux上
RUSTUP_DIST_SERVER (用于更新 toolchain):
1 | export RUSTUP_DIST_SERVER="https://rsproxy.cn" |
RUSTUP_UPDATE_ROOT (用于更新 rustup):
1 | export RUSTUP_UPDATE_ROOT="https://rsproxy.cn/rustup" |
安装
移除官方默认源
1 | winget source remove winget |
添加中科大镜像源
1 | winget source add winget https://mirrors.ustc.edu.cn/winget-source |
验证
1 | winget source list |
在 PowerShell 中使用 winget 命令安装程序:
1 | winget install --id Rustlang.Rustup |
查看版本
1 | rustc --version |
如果下载慢可以直接使用这个地址
https://mirrors.ustc.edu.cn/rust-static/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe
cargo镜像
crates.io index失败
解决方法
使用Rust crates.io 索引镜像
Windows下路径类似于
1 | explorer %USERPROFILE%\.cargo |
文件夹下创建config.toml文件。
注意旧版本是config,新版本是config.toml。
config.toml
1 | # 将 crates.io 默认源替换为 'ustc' |
该镜像可加快 cargo 读取软件包索引的速度。
清华大学
1 | [source.crates-io] |
如何验证生效?
尝试在一个项目中运行
1 | cargo update |
如果瞬间完成,说明稀疏索引镜像配置成功;如果卡住不动,说明配置未生效或网络仍有问题。
开发工具
VSCode中安装插件rust-analyzer
IDEA中直接添加rust即可(收费)
包管理器
Rust 的包管理器叫做 Cargo,它是 Rust 官方提供的工具,用于构建、测试和管理 Rust 项目的依赖关系。
Cargo不用另外安装,Rust内就包含。
Cargo 有以下几个主要的功能:
- 管理 Rust 项目的依赖关系,可以自动下载、编译和安装依赖项。
- 提供命令行工具来构建、运行和测试 Rust 项目。
- 管理项目的版本号和发布。
下面是一些常用的 Cargo 命令:
cargo new <project-name>:创建一个新的 Rust 项目。cargo build:编译项目,并生成可执行文件或库。cargo run:编译并运行项目。cargo test:运行项目的测试用例。cargo doc:生成项目的文档。cargo clean:清理项目的编译输出。
如果已存在文件夹,可以进入文件夹内运行
1 | cargo init |
运行
1 | cargo run |
除了管理项目本身的依赖关系,Cargo 还可以管理系统级别的 Rust 依赖库,例如 Rust 标准库和其他常用的 Rust crate。
在使用 Cargo 管理 Rust 项目时,通常需要编辑项目根目录下的 Cargo.toml 文件,这个文件包含了项目的依赖关系和其他一些配置信息。
总之,Cargo 是 Rust 生态系统中非常重要的一个组成部分,它的出现使得 Rust 项目的管理和构建变得更加简单和高效。