Logo lkw123's Blog
Rust 学习笔记

Rust 学习笔记

February 20, 2024
2 min read
Table of Contents

Rust 安装

对于 MacOS 用户,不推荐直接使用 brew install rust 的指令配置 Rust 环境,因为无法通过 rustup 工具来进行版本管理:

$ brew install rustup
# To initialize `rustup`, set a default toolchain:
$ rustup default stable

测试是否安装成功:

$ rustc --version
rustc 1.79.0 (129f3b996 2024-06-10)
 
$ cargo --version
cargo 1.79.0 (ffa9cf99a 2024-06-03)

crates.io 换源

由于国内拉取 crates.io 以及安装 Rust 会面临流量出境不稳定的问题,我们往往需要配置一个国内镜像代理。

自 Cargo 1.68 版本起,支持稀疏索引 (Sparse Index):不再需要完整克隆 crates.io-index 仓库,从而可以加快获取包的速度。

以选用字节跳动提供的的 Cargo 公益镜像源 rsproxy 为例,更改配置文件如下:

$HOME/.cargo/config.toml
[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

除此之外,可通过一个简单的 Rust 命令行工具 crm (Cargo registry manager),便捷的实现 Cargo 镜像源的更换和管理:

通过 Cargo 安装:

cargo install crm

使用方法:

crm best                    评估网络延迟并自动切换到最优的镜像
  crm best git              仅评估 git 镜像源
  crm best sparse           仅评估支持 sparse 协议的镜像源
  crm best git-download     仅评估能够快速下载软件包的 git 镜像源 (推荐使用)
  crm best sparse-download  仅评估能够快速下载软件包且支持 sparse 协议的镜像源 (推荐使用)
crm current                 获取当前所使用的镜像
crm default                 恢复为官方默认镜像
crm install [args]          使用官方镜像执行 "cargo install"
crm list                    从镜像配置文件中获取镜像列表
crm publish [args]          使用官方镜像执行 "cargo publish"
crm remove <name>           在镜像配置文件中删除镜像
crm save <name> <addr> <dl> 在镜像配置文件中添加/更新镜像
crm test [name]             下载测试包以评估网络延迟
crm update [args]           使用官方镜像执行 "cargo update"
crm use <name>              切换为要使用的镜像
crm version                 查看当前版本
crm check-update            检测版本更新