npm源管理器-nrm
npm源管理器-nrm
一、什么是nrm
nrm 是一个 npm 源管理器,允许你快速地在 npm源间切换。
什么意思呢,npm默认情况下是使用npm官方源(使用npm config ls命令可以查看),在国内用这个源肯定是不靠谱的,一般我们都会用淘宝npm源:https://registry.npm.taobao.org/ ,修改源的方式也很简单,在终端输入:
1 | npm set registry https://registry.npm.taobao.org/ |
再npm config ls查看,已经切换成功。如图:

那么,问题来了,如果哪天你又跑去国外了,淘宝源肯定是用不了的,又要切换回官网源,或者哪天你们公司有自己的私有npm源了,又需要切换成公司的源,这样岂不很麻烦?于是就有了nrm。
二、nrm安装
使用下面命令进行全局安装:
1 | npm install -g nrm |
mac用户前面添加sudo,否则权限不足。
三、nrm使用
- 查看可选源,
*表示当前被选中的源
1 | nrm ls |

- 添加源
1 | nrm add <registry> <url> |
registry:源名称 url:源地址

- 切换源
1 | nrm use <registry> |

- 查看当前源
1 | nrm current |

- 删除源
1 | nrm del <registry> |

- 测试源速度
1 | nrm test <registry> |

四、原理
其实nrm就是替我们执行这个命令来修改源:
1 | npm set registry <url> |
五、问题:nrm ls *(星号)、nrm current 输出为空
通过使用npm install -g nrm进行安装nrm,我出现了nrm ls *(星号)、nrm current 输出为空,但是npm的源是修改成功的可以正常使用。如图:

在网上看了一些贴子,主要是通过修改nrm的cli.js文件代码,结果第二天我发现星号又消失了。
解决方案:通过源码重新安装nrm
卸载nrm:
1 | npm uninstall nrm -g |
安装:
1 | npm install Pana/nrm -g |
再次执行:
