介绍
nrm(npm registry manager) 是一个 npm 的镜像源管理工具,允许我们快速切换 npm 源。
为什么要切换 npm 的源呢?
一般情况下,npm 默认使用官方源(https://registry.npmjs.org/),尽管可以使用,但是下载速度非常慢,而且会出现下载报错的问题,所以,大部分情况下,我们都会使用淘宝镜像源( https://registry.npmmirror.com/)。
平时我们切换镜像源,都是通过记住镜像源地址,使用命令行实现。
npm set registry https://registry.npmmirror.com/
最后使用 npm config ls 来查看是否切换成功,但是这样也存在几个问题:
- 如果镜像源地址记不住怎么办?
- 如果镜像源地址更新了怎么办,就比如,淘宝镜像源的老地址是:https://registry.npm.taobao.org/,最新地址是:https://registry.npmmirror.com/,如果你不知道它发生了更新,你在项目中使用 npm i 下载依赖的时候就会发现各种各样的问题,光是排查问题就够你头大的了。
- 如果你需要频繁切换镜像源,怎么办,难道要记录在一个文档中,一个个找?
这时候,nrm 的优势就凸显出来了,最重要的是:它的命令简单,使用方便
安装
一个命令行就搞定了
npm install -g nrm
使用
nrm ls
,用来查看当前可用源,以及当前使用源nrm current
,查看当前使用源nrm use <registry>
,registry 表示源名,用来切换镜像源,比如我切换到 yarn ,就输入nrm use yarn
再通过nrm current
查看是否已经切换成功nrm test <registry>
,registry 表示源名,这个命令用来测试源的速度,比如我要测试 taobao源 和 官方源 的速度,输入nrm test taobao
和nrm test npm
很明显,taobao源 的速度比 官方源 的速度快很多nrm add <registry> url
,registry 表示源名,url 表示源的地址,这个命令用来添加源。假设你的公司自己部署了一个源,你就可以通过nrm add company http://xxxxxxxxxxxxxxxx
的方式来添加,因为我们公司没有,所以这里就不展示了nrm del <registry>
,registry 表示源名,这个命令用来删除源。比如,删除刚刚添加的公司的源nrm del cmpany