Rust学习—解决crates.io 仓库代码下载慢的问题
Rust学习—解决crates.io 仓库代码下载慢的问题
今天在下载r a n d randrand依赖的时候,显示
update crates.io index
然后就华丽的卡住了。查了一下,这是网络的问题,先尝试了借助proxychains工具来使用国外代理的办法,但是没有成功,而且国外不安全的代理有可能泄露信息,只好另寻他法。
最终决定使用国内镜像的方法,虽然还是有一些慢,但是比之前要好多了。
首先进入电脑的cargo目录,MAC OS 默认安装在 ~/.cargo下:
cd ~/.cargo
创建一个config文件,这里使用vim编辑器:
vim config
进到编辑界面后,键入i,切换到插入模式
将下面的代码贴进去:
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
此步骤相当于修改了crates的下载源,切换到国内镜像。
按esc退出编辑模式,键入:wq,表示保存并退出即可。
再次尝试,就可以愉快的下载安装依赖啦~!
Blocking waiting for file lock on package cache的问题
几个月之前学习 rust 的一些入门代码,今天打开发现都无法继续
(直接删除$ rm .package-cache)
$ cargo run
Blocking waiting for file lock on package cache
$ cargo build
Blocking waiting for file lock on package cache
解决过程
既然是 cache , 就去找到这个 cache
$ cd ~/.cargo
$ ls -ah
. .crates.toml .package-cache config git
… .crates2.json bin env registry
$ rm .package-cache
按照别人的建议,换个 cargo 源
之前我使用的是 清华的源
$ cat config
[source.crates-io]
replace-with = ‘tuna’
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
*** 不管3721,换了再说
$ cat config
source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
# 如果所处的环境中不允许使用 git 协议,可以把上面的地址改为
# registry = "https://mirrors.ustc.edu.cn/crates.io-index"
再运行,出现权限问题
$ cargo build
error: failed to remove file /Users/XXXX/rustStudy/minigrep6/target/debug/minigrep.dSYM
加上 sudo ,也是一样错误
干脆 rm target ,重新 build
cargo clean 是不是一样的效果啊?
$ rm -rf target/
$ cargo build
Compiling minigrep v0.1.0
(/XXXXXX/rustStudy/minigrep6)
Finished dev [unoptimized + debuginfo] target(s) in 1.05s
$ cargo run
————————————————

浙公网安备 33010602011771号