Skip to content

Rustup 与 Cargo USTC 镜像配置

Rustup 与 Cargo USTC 镜像配置

这篇记录一次在 Linux 环境里安装 Rust,并把 Cargo 的 crates.io 源切换到中科大镜像的过程。

安装 Rustup

Rust 官方推荐用 rustup 管理工具链。安装命令如下:

1
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

安装完成后,通常需要重新加载 shell 环境,或者手动执行:

1
source "$HOME/.cargo/env"

然后检查:

1
2
rustc --version
cargo --version

查看网络连接情况

如果安装依赖时速度很慢,或者 Cargo 一直卡在更新索引,可以先用 iftop 看一下当前机器到底在连接哪里:

1
sudo iftop

它可以帮助判断流量是否真的打到了目标镜像站,或者是否被代理、DNS、网络策略影响。

配置 Cargo 使用 USTC 镜像

Cargo 的配置文件通常在 ~/.cargo/config.toml。下面这段会自动创建目录,并追加 USTC sparse registry 配置:

1
2
3
4
5
6
7
8
9
10
11
12
mkdir -vp ${CARGO_HOME:-$HOME/.cargo}

cat << EOF | tee -a ${CARGO_HOME:-$HOME/.cargo}/config.toml
[source.crates-io]
replace-with = 'ustc'

[source.ustc]
registry = "sparse+https://mirrors.ustc.edu.cn/crates.io-index/"

[registries.ustc]
index = "sparse+https://mirrors.ustc.edu.cn/crates.io-index/"
EOF

配置完成后,再执行 Cargo 命令时,就会优先通过 USTC 镜像更新 crates.io 索引。

例如:

1
cargo install --locked zellij

一个容易踩的坑

如果报错信息里出现类似“via 127.0.0.1”或者“Could not connect to server”,但环境变量里又没有设置代理,可以重点检查:

1
2
env | grep -i proxy
cat ~/.cargo/config.toml

如果 config.toml 被多次追加,建议清理重复配置,只保留一份 [source.crates-io][source.ustc][registries.ustc]

About this Post

This post is written by KaranocaVe.

#Rust #Cargo #Linux