温馨提示×

ubuntu rust配置慢怎么破

小樊
40
2026-10-28 07:11:55
栏目: 编程语言

在 Ubuntu 上搞 Rust,配置/下载慢通常集中在几个点:

  1. rustup 初始化慢
  2. cargo 拉取依赖慢(crates.io)
  3. 编译慢(CPU / 缓存 / 工具链)
  4. WSL / 虚拟机 IO 慢

下面按「立竿见影 → 根本优化」给你一套方案。


一、最立竿见影:换国内镜像(必做)

1️⃣ rustup 镜像(安装/更新工具链)

export RUSTUP_DIST_SERVER=https://rsproxy.cn
export RUSTUP_UPDATE_ROOT=https://rsproxy.cn/rustup

写入 ~/.bashrc 或 ~/.zshrc:

echo '
export RUSTUP_DIST_SERVER=https://rsproxy.cn
export RUSTUP_UPDATE_ROOT=https://rsproxy.cn/rustup
' >> ~/.bashrc
source ~/.bashrc

然后:

rustup default stable

也可用 https://mirrors.tuna.tsinghua.edu.cn/rustup


2️⃣ cargo 镜像(依赖下载慢的核心)

编辑或新建:

mkdir -p ~/.cargo
vim ~/.cargo/config.toml

内容(rsproxy,推荐):

[source.crates-io]
replace-with = "rsproxy-sparse"
[source.rsproxy-sparse]
registry = "sparse+https://rsproxy.cn/index/"
[registries.rsproxy]
index = "https://rsproxy.cn/crates.io-index"
[net]
git-fetch-with-cli = true

或用清华:

[source.crates-io]
replace-with = "tuna"

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

✅ 这一步通常能把 cargo build 从几分钟降到十几秒


二、编译慢怎么办(Rust 本身特性)

3️⃣ 使用 sccache(强烈推荐)

cargo install sccache

配置:

# ~/.cargo/config.toml
[build]
rustc-wrapper = "/home/你的用户名/.cargo/bin/sccache"

效果:

  • 重复编译大幅加速
  • CI / 多项目共用缓存

4️⃣ 并行 + 链接优化

export CARGO_BUILD_JOBS=$(nproc)

或:

[build]
jobs = 8

5️⃣ 用更快的 linker(Linux 神器)

sudo apt install lld clang
# ~/.cargo/config.toml
[target.x86_64-unknown-linux-gnu]
rustflags = ["-C", "link-arg=-fuse-ld=lld"]

➡ 大型项目链接阶段能快 30%~50%


三、WSL / 虚拟机特别慢?

6️⃣ 项目别放 /mnt/c

❌ 错误:

/mnt/c/Users/xxx/project

✅ 正确:

~/rust/project

NTFS + WSL IO 极差,差 10 倍很正常。


四、初始化 rustup 本身就卡?

用离线或代理:

curl --proto '=https' --tlsv1.2 -sSf https://rsproxy.cn/rustup-init.sh | sh

或临时代理:

export https_proxy=http://127.0.0.1:7890

五、推荐一套“标准加速配置”(直接抄)

~/.cargo/config.toml

[source.crates-io]
replace-with = "rsproxy-sparse"

[source.rsproxy-sparse]
registry = "sparse+https://rsproxy.cn/index/"

[build]
jobs = 8
rustc-wrapper = "/home/你的用户/.cargo/bin/sccache"

[target.x86_64-unknown-linux-gnu]
rustflags = ["-C", "link-arg=-fuse-ld=lld"]

[net]
git-fetch-with-cli = true

六、如果你愿意,我可以更精准帮你

你可以告诉我:

  • Ubuntu 版本(22.04 / 24.04 / WSL?)
  • 是 安装慢 还是 编译慢
  • 项目类型(web / cli / embedded / 大型 workspace)

我可以直接给你最小可用配置。

0 踩