You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

现有React项目构建失败求助:ENOENT文件缺失错误排查

解决React项目构建失败(找不到2.chunk.js)的步骤

1. 修复依赖版本冲突问题

你一开始单独执行了npm i react,但项目package.json里已经指定了react@^16.10.2和react-dom@16.10.2,单独装react可能安装更高版本,导致依赖版本不兼容,直接破坏构建环境。

操作:

  • 删除项目根目录下的node_modules文件夹、package-lock.json文件
  • 执行npm install(不要单独装react,让npm根据package.json自动安装匹配的版本)

2. 修正build脚本的命令顺序问题

你的build脚本用了&连接两个命令:

"build": "npm run rm_client & react-app-rewired build"

不管是Windows还是Linux/macOS,&都会让前一个命令后台执行,意味着删除../src/main/resources/client的操作还没完成,构建就已经启动。如果项目的rewire配置里是把构建产物输出到这个被删除的目录,就会导致路径异常;即使不是,这种并行执行也可能引发未知问题。

把&改成&&,确保前一个命令执行成功后再启动构建:

"build": "npm run rm_client && react-app-rewired build"

3. 检查react-app-rewired的自定义配置

项目用了react-app-rewired,必须有根目录下的config-overrides.js文件(如果没有,找原开发者要,这个文件应该被提交到Git,除非是本地临时配置)。

重点看这个文件里有没有修改webpack的output配置:

  • 是否指定了output.path到其他目录(比如../src/main/resources/client)
  • 是否修改了output.filename或者chunk文件名的规则
    如果配置里的路径不存在或者权限不足,也会导致构建时找不到生成的chunk文件。

4. 确认Node.js版本兼容

项目依赖的react-scripts@3.4.3支持的Node.js版本是10.x、12.x、14.x,如果你用的是Node.js 16+,大概率会有兼容性问题。

执行node -v查看版本,如果版本过高,建议用nvm(Node版本管理器)切换到12.x或14.x版本,再重新安装依赖并构建。

5. 排查路径解析问题

错误提示里的路径是\react-client\build\2.chunk.js,这个绝对路径看起来有问题,可能是项目中某个配置(比如publicPath、webpack output路径)写死了绝对路径,导致在你的本地环境下找不到对应目录。

检查:

  • public/index.html里有没有硬编码的资源路径
  • config-overrides.js里的publicPath配置是否正确

内容的提问来源于stack exchange,提问作者ihateapachegroovy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 10:29:52