Rust配置国内源

方式一 修改配置文件

在 Windows 上编译 x86 架构的 Rust 项目时,如果速度较慢,可以通过设置 ​​国内镜像源​​ 来加速依赖下载。以下是优化方案:


​1. 设置 Rustup 国内镜像(加速工具链下载)​

修改 Rustup 的配置文件(%USERPROFILE%\.cargo\config),添加:

复制代码
[source.crates-io]
replace-with = 'rsproxy'

[source.rsproxy]
registry = "https://rsproxy.cn/crates.io-index"

[source.rsproxy-sync]
registry = "https://rsproxy.cn/crates.io-index"

[registries.rsproxy]
index = "https://rsproxy.cn/crates.io-index"

[net]
git-fetch-with-cli = true  # 使用系统 Git(避免纯 Rust 实现可能的问题)

​2. 设置 Cargo 国内镜像(加速 crate 下载)​

%USERPROFILE%\.cargo\config 中继续添加:

复制代码
[registries]
ustc = { index = "https://mirrors.ustc.edu.cn/crates.io-index/" }

[source.crates-io]
replace-with = 'ustc'  # 使用中科大源

或使用腾讯源:

复制代码
[source.crates-io]
replace-with = 'tuna'

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

​3. 设置 Git 镜像(加速 libimagequant 克隆)​

复制代码
git config --global url."https://hub.fastgit.org".insteadOf https://github.com
git clone https://github.com/ImageOptim/libimagequant  # 实际会从 fastgit 拉取

或直接使用国内镜像地址:

复制代码
git clone https://gitclone.com/github.com/ImageOptim/libimagequant

​4. 编译命令(启用并行编译和缓存优化)​

复制代码
# 设置编译线程数(根据 CPU 核心数调整)
set CARGO_BUILD_JOBS=8
# 启用增量编译(适用于开发调试)
set CARGO_INCREMENTAL=1
# 使用 sccache 缓存(需提前安装)
set RUSTC_WRAPPER=sccache

cargo build --release --target i686-pc-windows-msvc

​5. 其他优化建议​

  1. ​预下载依赖​ ​:

    在项目目录下运行 cargo fetch 提前下载所有依赖。

  2. ​关闭杀毒软件​ ​:

    临时禁用 Windows Defender 或其他杀毒软件,避免扫描干扰。

  3. ​使用 SSD​ ​:

    将代码和编译目录放在固态硬盘(SSD)上。

  4. ​清理缓存​​(必要时):

    复制代码
    cargo clean
    cargo update

​验证镜像是否生效​

运行以下命令检查下载源:

复制代码
cargo config get source.crates-io.replace-with

输出应为 ustcrsproxy 等镜像名称。


​完整流程示例​

复制代码
# 1. 设置环境
set CARGO_BUILD_JOBS=8
git config --global url."https://hub.fastgit.org".insteadOf https://github.com

# 2. 克隆仓库(通过镜像)
git clone https://github.com/ImageOptim/libimagequant
cd libimagequant

# 3. 编译
cargo build --release --target i686-pc-windows-msvc

通过以上配置,依赖下载和编译速度会有显著提升。如果仍有问题,可尝试切换不同的镜像源(如清华、中科大、腾讯等)。

方式二 命令行快速设置

在 Windows 上,可以通过 ​​PowerShell​ ​ 或 ​​CMD​​ 命令行直接配置 Rust 和 Cargo 的国内镜像源,以下是具体方法:


​1. 配置 Rustup 国内镜像源(加速工具链下载)​

运行以下命令设置环境变量(临时生效,仅当前会话):

复制代码
$env:RUSTUP_DIST_SERVER="https://mirrors.tuna.tsinghua.edu.cn/rustup"
$env:RUSTUP_UPDATE_ROOT="https://mirrors.tuna.tsinghua.edu.cn/rustup"

​永久生效​​(需添加到系统环境变量):

复制代码
[System.Environment]::SetEnvironmentVariable('RUSTUP_DIST_SERVER', 'https://mirrors.tuna.tsinghua.edu.cn/rustup', 'User')
[System.Environment]::SetEnvironmentVariable('RUSTUP_UPDATE_ROOT', 'https://mirrors.tuna.tsinghua.edu.cn/rustup', 'User')

支持的其他镜像源:

  • 中科大:https://mirrors.ustc.edu.cn/rust-static
  • 阿里云:https://mirrors.aliyun.com/rustup
  • 字节跳动:https://rsproxy.cn

​2. 配置 Cargo 国内镜像源(加速依赖下载)​

通过命令行创建或修改 Cargo 配置文件:

复制代码
# 创建配置文件(如果不存在)
if (!(Test-Path "$env:USERPROFILE\.cargo\config")) { New-Item -Path "$env:USERPROFILE\.cargo\config" -Force }

# 写入镜像配置(以清华大学为例)
@"
[source.crates-io]
replace-with = 'tuna'

[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
"@ | Out-File "$env:USERPROFILE\.cargo\config" -Encoding utf8

其他可选镜像源(替换 tunaregistry 值):

  • 中科大:registry = "https://mirrors.ustc.edu.cn/crates.io-index"
  • 阿里云:registry = "sparse+https://mirrors.aliyun.com/crates.io-index/"
  • 上海交大:registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index/"

​3. 验证配置是否生效​

  • ​检查 Rustup 镜像​​:

    复制代码
    rustup show

    若输出中包含镜像域名(如 mirrors.tuna.tsinghua.edu.cn),则配置成功。

  • ​检查 Cargo 镜像​​:

    复制代码
    cargo build

    观察下载依赖时是否从国内镜像拉取(如无网络超时即生效)。


​4. 其他优化建议​

  • ​清理缓存​​(解决之前下载失败的问题):

    复制代码
    cargo clean
    rustup self clean
  • ​使用最新版工具链​​:

    复制代码
    rustup self update
    rustup update
  • ​关闭证书验证​​(仅限中科大镜像遇到 SSL 错误时):

    复制代码
    $env:CARGO_HTTP_CHECK_REVOKE="false"

​总结​

通过上述命令,可快速切换至国内镜像源,显著提升下载速度。推荐使用 ​​清华大学​ ​ 或 ​​中科大​​ 镜像源,稳定性较好。若需恢复默认源,删除环境变量或配置文件即可。