前言我们在开发的时候,有时候需要切换npm源。nrm和yrm作为npm/yarn镜像源管理工具,可以快速切换npm源,提高我们的效率。nrminstallnpminstall-gnrmuse查看可用源列表nrmls其中*是当前使用的源npm------https://registry.npmjs.org/yarn-------https://registry.yarnpkg.com/cnpm------http://r.cnpmjs.org/*taobao-----https://registry.npm.taobao.org/快速切换nrmusenpmAdd如果我们需要添加一个特定的源,比如我们自己的私有源,可以执行如下命令添加,其中reigstry为源名称,url为源路径nrmadd为如下:nrmaddmynpmhttp://registry.mynpm.org/删除reigstry作为源名称nrmdeltestspeednrmtestnpmyrminstallnpminstall-gyrm用于查看可用源列表yrmlswhere*是当前使用的源npm--------https://registry.npmjs.org/yarn-------https://registry.yarnpkg.com/cnpm------http://r.cnpmjs.org/*taobao-----https://registry.npm.taobao.org/快速切换yrm使用npm添加如果我们需要添加特定源,比如我们自己的私有源,我们可以执行如下命令添加,其中reigstry为源名称,url为源路径yrmadd如下:yrmaddmynpmhttp://registry.mynpm.org/deletereigstry是源名称yrmdeltestspeedyrmtestnpm可能出现的问题当我们安装nrm时,win32开发者可能会遇到以下问题:C:\Users\xxx>nrm-vinternal/validators.js:124thrownewERR_INVALID_ARG_TYPE(名称,'字符串',值);^[TypeError[ERR_INVALID_ARG_TYPE]:“路径”参数必须是字符串类型。在Object.(C:\Users\xxx\AppData\Roaming\npm\node_modules\nrm\cli.js:17:20)在Module._compile(internal/modules/cjs/loader.js:1063:30)在Object.Module._extensions..js(internal/modules/cjs/loader.js:1092:10)在Module.load(internal/modules/cjs/loader.js:928:32)在Function.Module._load(internal/modules/cjs/loader.js:769:14)在Function.executeUserEntryPoint[asrunMain](internal/modules/run_main.js:72:12)在internal/main/run_main_module。js:17:47]{code:'ERR_INVALID_ARG_TYPE'}这部分小伙伴会发现安装后无法使用。解决方法如下:找到下面路径对应的文件C:\Users\xxx\AppData\Roaming\npm\node_modules\nrm\cli.js:17:20修改cli.js代码第17行//constNRMRC=path.join(process.env.HOME,'.nrmrc');constNRMRC=path.join(process.env[(process.platform=='win32')?'USERPROFILE':'HOME'],'.nrmrc');这时候可以使用C:\Users\xxx>nrm--version1.2.1最后两个工具类似,随便用一个就OK,nrm安装后可能会出现以上问题,不过问题不大