我们在开发时,有时需要进行npm源的切换。nrm和yrm作为npm / yarn的镜像源管理工具,可以快速地在 npm 源间切换,提高我们的效率。
一、nrm
nrm的安装
代码语言:javascript复制npm install -g nrm
复制
查看可用源
代码语言:javascript复制nrm ls
//带*号的是当前使用源
npm -------- https://registry.npmjs.org/
yarn ------- https://registry.yarnpkg.com/
cnpm ------- http://r.cnpmjs.org/
* taobao ----- https://registry.npm.taobao.org/
复制
选择其中一个源
代码语言:javascript复制nrm use 名字
复制
新增、删除一个源
代码语言:javascript复制//新增
nrm add 名称 路径
//删除
nrm del 名称
复制
测试速度
代码语言:javascript复制nrm test 名称
复制
二、yrm
yrm的安装
代码语言:javascript复制npm install -g yrm
复制
查看可用源
代码语言:javascript复制yrm ls
//带*号的是当前使用源
npm -------- https://registry.npmjs.org/
yarn ------- https://registry.yarnpkg.com/
cnpm ------- http://r.cnpmjs.org/
* taobao ----- https://registry.npm.taobao.org/
复制
选择其中一个源
代码语言:javascript复制yrm use 名字
复制
新增、删除一个源
代码语言:javascript复制//新增
yrm add 名称 路径
//删除
yrm del 名称
复制
测试速度
代码语言:javascript复制yrm test 名称
复制
最后说一个我在安装nrm时候报的一个错
代码语言:javascript复制internal/validators.js:124
throw new ERR_INVALID_ARG_TYPE(name, 'string', value);
^
[TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
at validateString (internal/validators.js:124:11)
at Object.join (path.js:375:7)
at Object.<anonymous> (C:UsershonvinAppDataRoamingnpmnode_modulesnrmcli.js:17:20)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47
] {
code: 'ERR_INVALID_ARG_TYPE'
}
复制
解决方法: 找到nrm所在目录,一般是c盘用户文件夹下:C:Users用户名AppDataRoamingnpmnode_modulesnrm
打开cli.js
找到这行代码
代码语言:javascript复制const NRMRC = path.join(process.env.HOME, '.nrmrc');
复制
替换成
代码语言:javascript复制const NRMRC = path.join(process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'], '.nrmrc');
复制
就可以正常使用了,有用的话记得留言评论!