Rust社区公开的第三方包都集中在crates.io网站上面,他们的文档被自动发布到doc.rs网站上。Rust提供了非常方便的包管理器cargo,它类似于Node.js的npm和Python的pip。但cargo不仅局限于包管理,还为Rust生态系统提供了标准的工作流。
在实际开发中,为了更快速下载第三方包,我们需要把crates.io换国内的镜像源,否则在拉取 crates.io 仓库代码会非常慢,Updating crates.io index 卡很久,很多次超时导致引用库没法编译。
在 $HOME/.cargo/config 中添加如下内容:
# 放到 `$HOME/.cargo/config` 文件中
[source.crates-io]
#registry = "https://github.com/rust-lang/crates.io-index"
# 替换成你偏好的镜像源
replace-with = 'ustc'
#replace-with = 'sjtu'
# 清华大学
[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.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"
# rustcc社区
[source.rustcc]
registry = "git://crates.rustcc.cn/crates.io-index"
如果所处的环境中不允许使用 git 协议,可以把上述地址改为:
registry = "https://mirrors.ustc.edu.cn/crates.io-index"
注意:cargo search 无法使用镜像。
参考:
https://mirrors.ustc.edu.cn/help/crates.io-index.html
https://blog.dteam.top/mirrors.html#cratesio-%E7%B4%A2%E5%BC%95%E9%95%9C%E5%83%8F