nrm报错 code: ‘ERR_INVALID_ARG_TYPE‘解决方法

命令npm install nrm -g安装,nrm 1.2.1报错:

[TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
  at validateString (internal/validators.js:122:11)
  at Object.join (path.js:375:7)
  at Object.<anonymous> (C:UsersliyinAppDataRoaming
pm
ode_modules
rmcli.js:17:20)
  at Module._compile (internal/modules/cjs/loader.js:1076:30)
  at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
  at Module.load (internal/modules/cjs/loader.js:941:32)
  at Function.Module._load (internal/modules/cjs/loader.js:782: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 第17行修改成

//const NRMRC = path.join(process.env.HOME, .nrmrc); (删除)
const NRMRC = path.join(process.env[(process.platform == win32) ? USERPROFILE : HOME], .nrmrc);

保存后重新打开命令行,可正常运行nrm ls命令

C:Windowssystem32>nrm ls

  npm -------- https://registry.npmjs.org/
  yarn ------- https://registry.yarnpkg.com/
  cnpm ------- http://r.cnpmjs.org/
* taobao ----- https://registry.npm.taobao.org/
  nj --------- https://registry.nodejitsu.com/
  npmMirror -- https://skimdb.npmjs.com/registry/
  edunpm ----- http://registry.enpmjs.org/
经验分享 程序员 微信小程序 职场和发展