npm start启动失败,webpack与react-scripts要求版本不匹配如何排查解决
调试排查步骤
报错提示:
The react-scripts package provided by Create React App requires a dependency: "webpack": "4.44.2"
首先修正版本查询误区:你执行的npm -v webpack返回的是npm本身的版本号(你得到的6.14.14实际是npm版本),查询项目内webpack安装版本的正确命令为 npm ls webpack。
1. 排查全局webpack版本冲突
- 执行
npm ls -g webpack查看全局安装的webpack版本 - 如果全局安装了非4.44.2版本的webpack,执行
npm uninstall -g webpack卸载全局版本,避免全局依赖优先级高于项目依赖导致的版本匹配错误
2. 强制锁定项目webpack版本
- 打开项目根目录的
package.json文件,新增resolutions字段(已存在则直接加内容):"resolutions": { "webpack": "4.44.2" } - 执行
npx npm-force-resolutions让resolutions配置生效(npm默认不支持resolutions字段,需要该工具触发强制版本锁定) - 删除项目下的
node_modules目录和package-lock.json文件,执行npm install重新安装依赖
3. 检查react-scripts版本兼容性
- 查看
package.json中react-scripts的版本,确认其和webpack 4.44.2的适配性,若版本不匹配可升级/回退react-scripts到兼容版本
4. 清除缓存重装
- 如果上述操作后仍有问题,执行
npm cache clean --force清除npm本地缓存,再重复删除依赖文件、重新安装的步骤,避免缓存导致的依赖安装异常
5. 验证结果
- 安装完成后执行
npm ls webpack确认输出的webpack版本为4.44.2,再执行npm start启动项目
内容的提问来源于stack exchange,提问作者GeoSystems
相关产品推荐
相关产品推荐

