crm
是一个在终端运行的镜像管理程序,能够对 Cargo
镜像源进行简单的添加、修改、删除操作,并能帮助您快速的切换不同的 Cargo
镜像源。crm
内置了 5 种国内 (中国) 镜像源,它们分别是: rustcc
, sjtu
, tuna
, ustc
, rsproxy
。
在使用 Rust 语言做开发时,使用 Rust 官方镜像源进行 cargo build
的速度非常的慢,可能会因为网络的原因导致依赖下载超时而无法完成编译。为了能够在最少的时间内完成打包操作,一般会使用国内镜像源来代替官方镜像。
通常,大家一般会手动修改 ~/.cargo/config
文件来完成镜像的切换,手动修改配置文件的工作是繁琐的,它需要手动打开文件所在的目录,还要记住每一个镜像源的地址和配置方式,在不知道哪个国内源的网速最快的时候,我们还需要对镜像的速度进行手动的测速,在使用国内镜像源的过程中,如果当前所使用的国内镜像源也挂了,我们还需要切换到另一个国内镜像源,这就显得非常的棘手。如果您手动配置了国内镜像源,并且还经常的通过 cargo publish
发包的话 ,那么在发包之前,还需要将国内镜像源再手动切换为官方镜像。在比如,每一个国内镜像源同步镜像的时间是不一样的,如果您刚发了一个包并且想第一时间应用到您的项目中,但是因为国内镜像源的没有及时的同步镜像,而导致包无法下载,这个时候您还需要切换到官方镜像源来下载最新发布的包。每一次手动切换镜像的操作都是繁琐且耗时的,而 crm
就是为了解决上述的问题。
```bash
$ cargo install crm ```
crm
的原则是使用最小依赖,并尽可能的简化终端操作。您只需要在终端键入 crm
即可获得命令帮助信息。
```bash
$ crm
crm best 评估网络延迟并自动切换到最优的镜像
crm current 获取当前所使用的镜像
crm default 恢复为默认的镜像
crm list 从镜像配置文件中获取镜像列表
crm publish [cwd] 自动切换镜像源并执行 "cargo publish" 命令
crm remove 在镜像配置文件中添加/更新镜像
crm test [name] 下载测试包以评估网络延迟
crm use
v0.1.0
版本以下的 .crmrc
配置文件和最新版本的配置文件并不能相互兼容,如果您正在使用小于 v0.1.0
的版本,当您更新到最新版本时,请手动删除 ~/.crmrc
文件crm
会修改 ~/.cargo/config
文件来进行镜像源的切换,如果您使用的是小于 v0.1.3
的版本,那么当您使用 crm
切换镜像时,~/.cargo/config
文件中的文档注释会被删除并且永远无法恢复,如果您在 ~/.cargo/config
文件中保存了笔记或者文档,请尽快更新到最新版,在最新版中,对此进行了优化,不再自动删除文档注释 (除修改的字段外)MIT OR Apache-2.0