nrm(NPM registry manager)是 npm 的镜像源管理工具,使用它可以快速切换 npm 源。注意它只npm的镜像管理工具,并不管理其他包管理器的镜像,例如cnpm、pnpm、yarn,并且yarn也有专门的镜像管理工具:yrm(YARN registry manager),并且它可以同步修改 npm 和 yarn 镜像源,它本身也是 nrm 的一个 Fork 分支。
作为前端开发,你一定使用过 npm 来安装第三方依赖包,但是由于 npm 默认的下载仓储地址是 https://registry.npmjs.org/,属于国外的网站,所以我们下载的时候可能会非常的慢。所以淘宝也做了一个 npm 的镜像网站。
比如我们切换成淘宝镜像源,我们可以通过以下命令完成切换:
npm config set registry https://registry.npmmirror.com/
或者直接在 npm 配置文件修改
npm config edit
但是以上这命令忒长,不好记,所以我们用 nrm 来快速切换吧。另外,个人不推荐使用 cnpm 命令来代替 npm 来安装依赖,请看文章:为什么不推荐使用 cnpm?
「重要通知」原淘宝 npm 域名即将停止解析,请切换至新域名 npmmirror.com,http://npm.taobao.org和 http://registry.npm.taobao.org 将在 2022.06.30 号正式下线和停止 DNS 解析。
nrm 安装与使用
全局安装
npm i -g nrm
查看版本
nrm -V
查看当前所有源
nrm ls
● npm ---------- https://registry.npmjs.org/
yarn --------- https://registry.yarnpkg.com/
tencent ------ https://mirrors.cloud.tencent.com/npm/
cnpm --------- https://r.cnpmjs.org/
taobao ------- https://registry.npmmirror.com/
npmMirror ---- https://skimdb.npmjs.com/registry/
其中 * 号表示当前使用的源。
通过命令查看当前源的名称。
nrm current
切换源
nrm use <registry>
其中就是上面命令所列出来的源名称。
例如 nrm use taobao
添加自定义源
nrm add <registry> <url>
适用于企业内部定制的私有源, <registry>
表示源名称, <url>
表示源地址。
删除源
nrm del <registry>
测试源的响应时间
nrm test <registry>