Cargo无法从crates.io安装,寻求绕过DNS封锁的解决方案
解决Cargo无法访问crates.io的替代方案
方案一:本地安装crate包
如果能通过其他渠道获取到目标crate的压缩包,可以直接本地安装:
- 找一台能正常访问crates.io的设备,打开目标crate的页面,下载对应版本的
.tar.gz压缩包; - 将压缩包传输到你的本地电脑;
- 在终端进入压缩包所在目录,执行命令:
cargo install ./[crate文件名].tar.gz(替换成实际的文件名,比如adler-1.0.2.tar.gz)。
方案二:配置Cargo镜像源
通过切换到国内镜像源,绕过.io域名的封锁:
- 在你的用户目录下找到
.cargo文件夹(Windows一般是C:\Users\[你的用户名]\.cargo),如果没有就新建一个; - 在
.cargo文件夹里创建config.toml文件,写入以下内容:
[source.crates-io] replace-with = 'tuna' [source.tuna] registry = 'https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git'
- 保存文件后,重新执行
cargo install命令即可。
方案三:修改hosts文件绕过DNS封锁
手动指定crates.io的IP地址,跳过学校DNS解析:
- 用能正常访问网络的设备,查询crates.io的真实IP(比如通过ping命令或者DNS查询工具);
- 打开Windows的hosts文件(路径是
C:\Windows\System32\drivers\etc\hosts),需要用管理员权限打开编辑器; - 在文件末尾添加一行:
[查询到的IP] crates.io,替换[查询到的IP]为实际查到的地址; - 保存文件后,在终端执行
ipconfig /flushdns刷新DNS缓存,之后再尝试cargo install。
内容的提问来源于stack exchange,提问作者This guy
相关产品推荐
相关产品推荐

