Rust下载依赖包问题及解决方法

1,271 阅读1分钟

下载慢问题解决方法

修改 Rust 的下载镜像为国内镜像地址,这种方法可以一劳永逸地解决问题,但配置起来可能稍显麻烦,需修改 $HOME/.cargo/config.toml 文件,添加新的服务提供商。有两种方式:

  • 新增镜像地址:在 $HOME/.cargo/config.toml 中添加新的注册服务,例如使用科大镜像,并在项目中引入依赖时指定该地址。-

  • 覆盖默认的镜像地址:推荐使用这种方式,因为它不需要修改 Cargo.toml 文件,而是直接使用新的注册服务替代默认的 crates.io。在 $HOME/.cargo/config.toml 中添加如下内容:

[source.crates-io]
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"

这样配置后,所有需要从 crates.io 下载的包都会从科大的镜像地址下载,提高速度。

其他镜像源:除了科大镜像,还可以选择其他镜像服务,如字节跳动提供的不限速服务,或清华大学、上海交通大学、rustcc 社区提供的镜像。

下载卡住问题解决方法

下载卡住通常是因为下载速度慢,特别是更新索引时。配置国内镜像后,这个问题应该会得到缓解。如果遇到 Blocking waiting for file lock on package cache 的错误,可能是因为另一个进程(如 VSCode 的 rust-analyzer 插件)正在下载并锁定了项目。解决方法包括增加下载速度、耐心等待或强行停止进程并删除 $HOME/.cargo/.package_cache 目录。