npm start启动React项目报babel-loader 8.1.0依赖缺失错误如何解决
解决方案
- 第一步:清理全局冲突依赖
执行以下命令删除全局安装的冗余包,避免全局版本和项目版本冲突:npm uninstall -g babel-loader create-react-app # 若使用yarn则执行:yarn global remove babel-loader create-react-app - 第二步:清理npm本地缓存
官方默认修复步骤没有包含缓存清理,残留缓存会导致重复安装错误版本依赖:npm cache clean --force # 若使用yarn则执行:yarn cache clean - 第三步:(可选)强制跳过版本预检
之前.env配置不生效大概率是文件存放位置错误或文件名带后缀,你可以直接修改启动命令注入环境变量:- 先安装跨平台环境变量工具:
npm i cross-env -D - 修改
package.json中的scripts字段:
"scripts": { "start": "cross-env SKIP_PREFLIGHT_CHECK=true react-scripts start", "build": "cross-env SKIP_PREFLIGHT_CHECK=true react-scripts build", "test": "cross-env SKIP_PREFLIGHT_CHECK=true react-scripts test", "eject": "react-scripts eject" } - 先安装跨平台环境变量工具:
- 第四步:强制锁定依赖版本
在package.json中新增resolutions字段强制指定babel-loader版本,同时新增.npmrc文件关闭peer依赖严格校验:- package.json新增配置:
"resolutions": { "babel-loader": "8.1.0" }- 项目根目录新建
.npmrc文件,写入以下内容:
legacy-peer-deps=true- 重新执行删除
package-lock.json、删除node_modules、npm install流程即可。
- 第五步:终极兼容方案
你当前使用的react-scripts@4.0.3是多年前的旧版本,本身就存在依赖兼容问题,直接升级到最新稳定版即可彻底解决问题:npm install react-scripts@latest
内容的提问来源于stack exchange,提问作者Ethan Chan
相关产品推荐
相关产品推荐

