Node.js执行npm版本检查时抛出internal/modules/cjs/loader.js:892错误
排查步骤
- 首先验证Node.js基础安装是否正常,执行命令
node -v- 若该命令同样抛出错误,说明Node.js安装包本身损坏,直接进入重装流程即可
- 若该命令可正常输出版本号,说明问题出在npm组件本身
- 检查npm全局目录的读写权限
Windows系统默认路径为C:\Users\你的用户名\AppData\Roaming\npm,mac/Linux系统默认路径为/usr/local/lib/node_modules/npm,确认当前操作用户对该目录拥有读写权限,权限不足时手动修改目录权限即可。 - 检查系统环境变量配置
确认Node.js安装目录、npm全局模块目录均已正确配置到系统Path环境变量中,路径配置错误会导致npm调用时无法加载依赖模块抛出loader类错误。 - 清空npm缓存
若缓存文件损坏也会触发该错误,可手动找到npm缓存目录删除所有内容:Windows默认缓存路径为C:\Users\你的用户名\AppData\Roaming\npm-cache,mac/Linux默认缓存路径为~/.npm。
解决方案
- 仅npm组件损坏的修复方案
不需要重装Node.js,直接下载对应版本的npm离线安装包,解压后覆盖到Node.js安装目录下的node_modules/npm文件夹即可完成修复。 - 完全重装方案
如果上述操作无效,先完全卸载当前Node.js,删除本地残留的npm、npm-cache全局目录,再下载Node.js官方LTS稳定版本,使用默认路径重新安装即可,安装过程会自动配套安装对应版本的npm,不会出现环境冲突问题。 - 环境隔离方案
如果需要同时使用多个Node.js版本,可安装Node版本管理工具nvm,通过nvm安装的Node版本会自动匹配对应版本的npm,可完全避免全局环境冲突导致的这类报错。
内容的提问来源于stack exchange,提问作者violet.cloud
相关产品推荐
相关产品推荐

