Skip to content

Rust 学习笔记(一)

Published: at 10:00 AM

Table of contents

Open Table of contents

Rust 安装

对于 MacOS 用户,不推荐使用 brew install rust 的指令配置 Rust 环境,因为无法通过 rustup 工具来进行版本管理。因此我们选择直接安装 rustup 工具,它会自动安装并配置最新版本的 Rust 编译器和 Cargo 包管理器。

$ brew install rustup-init
$ rustup-init

测试是否安装成功:

$ rustc --version
rustc 1.78.0 (9b00956e5 2024-04-29)

$ cargo --version
cargo 1.78.0 (54d8815d0 2024-03-26)

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            检测版本更新