npm源管理器-nrm | 我的日常分享

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查看,已经切换成功。如图:

image-20220814175520807

那么,问题来了,如果哪天你又跑去国外了,淘宝源肯定是用不了的,又要切换回官网源,或者哪天你们公司有自己的私有npm源了,又需要切换成公司的源,这样岂不很麻烦?于是就有了nrm。

二、nrm安装

使用下面命令进行全局安装:

1
npm install -g nrm

mac用户前面添加sudo,否则权限不足。

三、nrm使用

  • 查看可选源,*表示当前被选中的源
1
nrm ls

image-20220814181540500

  • 添加源
1
nrm add <registry> <url>

registry:源名称 url:源地址

image-20220814182217953

  • 切换源
1
nrm use <registry>

image-20220814182324813

  • 查看当前源
1
nrm current

image-20220814182341542

  • 删除源
1
nrm del <registry>

image-20220814182434926

  • 测试源速度
1
nrm test <registry>

image-20220814182613551

四、原理

其实nrm就是替我们执行这个命令来修改源:

1
npm set registry <url>

五、问题:nrm ls *(星号)、nrm current 输出为空

通过使用npm install -g nrm进行安装nrm,我出现了nrm ls *(星号)、nrm current 输出为空,但是npm的源是修改成功的可以正常使用。如图:

image-20220814180146735

在网上看了一些贴子,主要是通过修改nrm的cli.js文件代码,结果第二天我发现星号又消失了。

解决方案:通过源码重新安装nrm

卸载nrm

1
npm uninstall nrm -g

安装:

1
npm install Pana/nrm -g

再次执行:

image-20220814181540500