一、什么是 nrm?
nrm(NPM registry manager)是 NPM 的镜像源管理工具,使用它可以快速切换 npm
命令镜像源。
作为前端开发,你一定使用过 npm
来安装第三方依赖包,但由于 NPM 默认的下载仓储地址是 https://registry.npmjs.org/
,属于外国的网站,所以我们下载的时候可能会非常的慢。所以淘宝也做了一个 NPM 的镜像网站(看这里)。
比如我们切换成淘宝镜像源,我们可以通过以下命令完成切换:
$ npm config set registry https://registry.npm.taobao.org
# 或者直接在 npm 配置文件修改
$ npm config edit
但是这命令忒长,不好记,所以我们用 nrm
来快速切换吧。
个人不推荐使用
cnpm
命令来代替npm
来安装依赖,具体原因看文章:为什么不推荐使用 cnpm?
二、安装与使用
- 全局安装
$ 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.npm.taobao.org/
nj --------- https://registry.nodejitsu.com/
npmMirror -- https://skimdb.npmjs.com/registry/
edunpm ----- http://registry.enpmjs.org/
或者通过 nrm current
命令查看当前源的名称。
- 切换源
其中 <registry>
就是上面命令所列出来的名称。
相比上面的命令,是不是方便好记多了。
$ nrm use <registry>
# 例如 nrm use taobao
注意切换源之后,我们安装依赖仍使用
npm i <name>
的方式来进行安装。
- 添加源
适用于企业内部定制的私有源,<registry>
表示源名称,<url>
表示源地址。
$ nrm add <registry> <url>
- 删除源
$ nrm del <registry>
- 测试源的响应时间
$ nrm test <registry>
三、其他
既然 nrm
是 npm
的镜像源管理工具,自然不会影响到 yarn
的配置。若要修改 yarn
镜像源配置,可以通过以下方式:
# 获取当前源
$ yarn config get registry
# 配置源,<registry address> 为源地址
$ yarn config set registry <registry address>
常用的镜像源有:
npm -------- https://registry.npmjs.org/
yarn ------- https://registry.yarnpkg.com/
cnpm ------- http://r.cnpmjs.org/
taobao ----- https://registry.npm.taobao.org/
nj --------- https://registry.nodejitsu.com/
npmMirror -- https://skimdb.npmjs.com/registry/
edunpm ----- http://registry.enpmjs.org/
🎉 好消息,另外一个工具
yrm
,可以同时修改npm
和yarn
的镜像源,详见:一个可同时切换 npm 和 yarn 镜像源的工具。
网友评论