nrm是用来管理npm包来源的网址的工具。
今天安装nrm运行时出现了问题,报错如下:
D:\development_environment\hbuildx_workspace\ag-grid-demo>nrm
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> (D:\development_environment\nodejs\node_global\node_modules\nrm\cli.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安装的路径,且找到路径下的cli.js文件。(路径可能不同,请自行寻找自己的安装位置)
打开cli.js文件,找到下面这一行:(应该是第17行)
const NRMRC = path.join(process.env.HOME, '.nrmrc');
将这行修改成如下:
const NRMRC = path.join(process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'], '.nrmrc');
保存之后再运行nrm命令就可以了。