nrm是什么
nrm其实就是个帮助你快速切换npm源的小工具
详细介绍参见项目 官网文档链接
报错情况
下载时或下载完成后使用时,出现报错
可以看到报错原因是因为validators需要的参数类型是string,结果给他穿了个undefined,所以就报错了
然后我们进入到第四行中的详细位置第17行去看代码
也就是process.env.HOME 为undefined类型
可以进入node环境去验证一下
可见,这个变量无了
解决
参考了官放issue 官方jssue
把第17行换成
const NRMRC = path.join(process.env[(process.platform == 'win32') ? 'USERPROFILE': 'HOME'], '.nrmrc');
然后保存,重新打开powerShell,运行指令
nrm ls
总结
可能是因为在node升级过程中,改变了.npmrc的保存位置
所以,找到这个文件就行了