
nrm(NPM registry manager)是 NPM 的镜像源管理工具,使用它可以快速切换 npm 命令镜像源。
作为前端开发,你一定使用过 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 解析。
$ npm i -g nrm
$ nrm -V
其中 * 号表示当前使用的源。
- $ nrm ls
-
- * npm -------- https://registry.npmjs.org/
- yarn ------- https://registry.yarnpkg.com/
- cnpm ------- http://r.cnpmjs.org/
- taobao ----- https://registry.npmmirror.com/
- nj --------- https://registry.nodejitsu.com/
- npmMirror -- https://skimdb.npmjs.com/registry/
- edunpm ----- http://registry.enpmjs.org/
或者通过 nrm current 命令查看当前源的名称。
其中 就是上面命令所列出来的名称。
相比上面的命令,是不是方便好记多了
- $ nrm use
- # 例如 nrm use taobao
注意切换源之后,我们安装依赖仍使用
npm i的方式来进行安装。
适用于企业内部定制的私有源, 表示源名称, 表示源地址。
$ nrm add <registry> <url>
$ nrm del <registry>
$ nrm test <registry>
既然 nrm 是 npm 的镜像源管理工具,自然不会影响到 yarn 的配置。若要修改 yarn 镜像源配置,可以通过以下方式:
- # 获取当前源
- $ yarn config get registry
-
- # 配置源,
为源地址 - $ yarn config set registry
常用的镜像源有:
- npm -------- https://registry.npmjs.org/
- yarn ------- https://registry.yarnpkg.com/
- cnpm ------- http://r.cnpmjs.org/
- taobao ----- https://registry.npmmirror.com/
- nj --------- https://registry.nodejitsu.com/
- npmMirror -- https://skimdb.npmjs.com/registry/
- edunpm ----- http://registry.enpmjs.org/
🎉 好消息,另外一个工具
yrm,可以同时修改npm和yarn的镜像源,详见:一个可同时切换 npm 和 yarn 镜像源的工具。