执行npm start启动React项目报错Cannot find module 'isexe'怎么解决?
问题原因及解决步骤
错误根因
该报错是isexe模块缺失导致的:isexe是npm生态中用于判断文件是否可执行的基础依赖,被which包依赖,最终被react-scripts的启动链路调用。出现该问题绝大多数情况是本地node_modules目录安装不完整、npm/yarn缓存损坏,或是之前安装依赖时中途中断、网络波动导致依赖下载不全。
定位排查步骤
- 先检查项目根目录下是否存在
node_modules/isexe目录,不存在即可直接确认依赖确实缺失 - 执行
npm ls isexe查看依赖树中该模块的安装状态,如果输出UNMET DEPENDENCY或missing即可确认是依赖安装问题
修复方案
按顺序执行以下方案,绝大多数情况前两步即可解决问题:
方案1:重新完整安装依赖
- 关闭所有正在运行的项目相关终端进程
- 在项目根目录下删除损坏的依赖文件和锁文件:
Windows环境可直接手动删除node_modules文件夹、package-lock.json文件(使用yarn则删除yarn.lock)
也可直接执行命令:rm -rf node_modules package-lock.json # 用yarn的话执行 rm -rf node_modules yarn.lock - 重新安装所有依赖:
npm install # 用yarn的话执行 yarn install - 安装完成后重新执行
npm start启动项目即可
方案2:单独安装缺失的isexe模块
如果方案1执行后仍报错,可单独手动安装该依赖:
安装完成后重新启动项目npm install isexe --save方案3:清理npm缓存后重装
如果前两个方案都无效,说明npm本地缓存损坏,先清理缓存再重复重装步骤:npm cache clean --force # 清理完成后重复方案1的删除、重装步骤极端情况排查
如果以上步骤都无效,检查当前使用的Node.js版本和项目要求的版本是否匹配:执行node -v查看当前版本,对照项目package.json里的engines字段要求,版本不匹配的话切换到对应Node版本后重新安装依赖即可。
内容的提问来源于stack exchange,提问作者Bahubali Ak
相关产品推荐
相关产品推荐

