Rust编程之给cargo替换国内源

Posted 没刮胡子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rust编程之给cargo替换国内源相关的知识,希望对你有一定的参考价值。

说明

cargo如果不更换国内源基本上安装插件很难成功,换国内源主要是更换 crate 索引(注册表),目前国内很多大学都提供了不错的同步源。

新建配置文件

# windows系统
C:\\Users\\Administrator\\.cargo\\config


# Linux系统
/用户目录/.cargo/config

修改内容

# `source` 就是存储有关要更换的来源名称
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"

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

提示:
使用 replace-with 字段指明 默认源更换成"tuna"源
[source.tuna] 定义了一个新源, 叫 tuna
这里指定了清华大学源

测试

cargo install cargo-rls-install
cargo rls-install -i nightly-2020-03-19
rustc -V

我的电脑配置参考:

# 放到 `$HOME/.cargo/config` 文件中
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"

# 替换成你偏好的镜像源
replace-with = 'tuna'
#replace-with = 'ustc'
#replace-with = 'zju'

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

# 中国科学技术大学
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"

# 浙江大学
[source.zju]
registry = "https://mirrors.zju.edu.cn/git/crates.io-index.git"


# 上海交通大学
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"

# rustcc社区
[source.rustcc]
registry = "git://crates.rustcc.cn/crates.io-index"

错误处理

如果配置了源以后还是报错

$ cargo update
    Blocking waiting for file lock on package cache

解决方案

删除$HOME/.cargo/.package-cache文件,然后再执行就好了。

以上是关于Rust编程之给cargo替换国内源的主要内容,如果未能解决你的问题,请参考以下文章

Rust crates源国内加速镜像配置说明

Rust crates源国内加速镜像配置说明

Rust crates源国内加速镜像配置说明

Rust更换Crates源

Rust使用国内镜像安装依赖

Rust学习笔记 | 01 - Rust快速入门(为什么是Rust开发环境搭建Cargo的使用HelloWorldRust依赖包crates)