React执行npm run start启动失败,babel-eslint依赖版本冲突问题
React新项目启动报错(babel-eslint版本冲突)修复方案
根因说明
本次启动失败是依赖树版本冲突导致的:react-scripts要求依赖babel-eslint@^10.1.0,但系统在C盘根目录的node_modules中检测到更高层级的babel-eslint@10.0.3,不兼容的版本触发了依赖预检拦截,导致启动失败。
标准修复步骤
严格按照以下顺序执行操作可解决90%以上的同类问题:
- 删除项目根目录下的
package-lock.json(注意不要删除package.json文件)或yarn.lock锁文件 - 删除项目根目录下的
node_modules依赖文件夹 - 打开项目的
package.json文件,从dependencies和devDependencies配置项中删除所有babel-eslint相关的手动配置 - 回到项目根目录,根据你使用的包管理器执行安装命令:使用npm则运行
npm install,使用yarn则运行yarn
进阶排查方案
如果执行上述步骤后仍然无法启动,可尝试以下操作:
- 若之前使用npm作为包管理器,可改用yarn重复上述四个标准步骤,npm已知的包提升机制可能会导致该类依赖冲突
- 检查C盘根目录下是否存在
node_modules文件夹,该文件夹是意外在C盘根目录执行包安装命令生成的,直接删除即可解决上层依赖冲突问题 - 在项目根目录执行
npm ls babel-eslint命令,可查询除react-scripts自带依赖外,还有哪些其他包安装了不同版本的babel-eslint,针对性卸载冲突包即可
临时绕过方案
如果所有修复方案都无效,可在项目根目录新建.env文件,添加配置项SKIP_PREFLIGHT_CHECK=true,即可永久禁用依赖预检检查直接启动项目,该方案可能存在隐性兼容风险,仅推荐临时调试使用。
内容的提问来源于stack exchange,提问作者TOUNSI Waref
相关产品推荐
相关产品推荐

