执行npm install报错Cannot find module 'dezalgo'如何解决
报错现象
执行npm install安装模块时抛出如下错误:
npm ERR! code MODULE_NOT_FOUND npm ERR! Cannot find module 'dezalgo' npm ERR! Require stack: npm ERR! - C:\Program Files\nodejs\node_modules\npm\node_modules\readdir-scoped-modules\readdir.js npm ERR! - C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-tree\rpt.js npm ERR! - C:\Program Files\nodejs\node_modules\npm\lib\install.js npm ERR! - C:\Program Files\nodejs\node_modules\npm\lib\npm.js npm ERR! - C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js
问题原因
该报错是npm自身内部依赖损坏导致,和待安装的业务项目模块无关:dezalgo是npm内置依赖readdir-scoped-modules的依赖包,出现找不到的问题通常由以下场景触发:
- 升级/降级npm版本时进程意外中断,npm安装目录下的依赖树写入不完整
- 安全类软件误拦截、误删npm安装目录下的文件
- 手动修改过
C:\Program Files\nodejs\node_modules\npm路径内的文件,破坏了原有依赖结构 - 多版本node/npm管理工具配置冲突,导致依赖寻址路径异常
解决步骤
按操作成本从低到高依次尝试:
强制重装全局npm修复损坏文件
打开管理员权限的终端(Windows下如果npm装在Program Files目录,非管理员权限会因写入权限不足导致操作失败),执行命令:npm install -g npm@latest --force执行完成后关闭当前终端,重新打开窗口执行
npm -v验证版本输出正常,再尝试之前的模块安装操作即可。手动补全缺失依赖
临时应急方案:如果上面的命令执行时也报相同错误,可直接进入npm的安装目录手动安装缺失的包:cd C:\Program Files\nodejs\node_modules\npm npm install dezalgo该方案仅修复当前缺失的单个依赖,如果npm还有其他文件损坏,后续可能还会报其他模块找不到的错误,不推荐作为长期解决方案。
彻底重装Node.js
强制重装npm无效时使用:如果npm核心文件已经损坏无法自更新,走完整重装流程:- 打开系统「程序和功能」面板,找到已安装的Node.js执行卸载
- 卸载完成后手动删除残留的Node.js安装目录(默认路径为
C:\Program Files\nodejs,自定义过安装路径则删除对应目录) - 删除用户目录下的npm相关缓存目录:
C:\Users\你的系统用户名\AppData\Roaming\npm、C:\Users\你的系统用户名\AppData\Roaming\npm-cache - 重新下载对应系统版本的Node.js安装包完成安装,新开终端验证
node -v、npm -v都能正常输出版本号后,再执行模块安装操作。
内容的提问来源于stack exchange,提问作者Dmap
相关产品推荐
相关产品推荐

