Create React App 的 npm run build 提前退出提示内存不足怎么解决

📅 发布时间:2026/9/9 21:59:37
Create React App 的 npm run build 提前退出提示内存不足怎么解决 Create React App 的 npm run build 提前退出提示内存不足怎么解决【免费下载链接】create-react-appSet up a modern web app by running one command.项目地址: https://gitcode.com/gh_mirrors/cr/create-react-app在 Create React App 项目中执行npm run build时如果构建进程提前结束终端会输出这样的提示The build failed because the process exited too early. This probably means the system ran out of memory or someone calledkill -9on the process.官方文档将这条报错与两种原因联系起来系统内存耗尽OOM或进程被kill -9强制终止。本文按 Troubleshooting 文档 中 “npm run buildexits too early” 一节给出排查顺序并补充一个文档明确记载的降低构建内存占用的环境变量方案。先确认进程不是被你手动终止的这条报错的第二种原因是人为的所以排查的第一步是确认你自己或本机上其他任务没有对构建进程执行过kill -9。react-scripts检测到构建进程被 SIGKILL 信号终止时会打印上述提示见 react-scripts.js 入口脚本 中对result.signal SIGKILL的处理。只有在你完全确定没有终止过进程时才继续按内存不足处理。判断是否是内存不足对照文档给出的特征Troubleshooting 文档 对这类失败给出了明确的适用条件常见于内存有限且没有交换空间swap的机器云环境尤其普遍即使是小项目npm run build也会让系统内存占用增加数百 MB如果构建时可用内存不足 1 GB构建很可能失败并报出上述提示。如果你的构建机符合“云主机 小内存 无 swap”这一组合且构建时确实出现过上面的报错就可以按下面的两条文档路径处理。方案一给构建机添加 swap 空间或改到本地构建这是 Troubleshooting 文档给出的主路径。原文建议是在构建所在的机器上添加一些交换空间swap space或者在本地机器上构建项目再部署产物。两条建议对应两种处境机器规格不能变、必须在该机器上出包时加 swap手头有内存充足的本地开发机时直接本地执行npm run build更省事。方案二设置 GENERATE_SOURCEMAPfalse 减少构建内存压力Advanced Configuration 文档 的环境变量表中记载了GENERATE_SOURCEMAP仅在Production生产构建生效开发模式下被忽略设为false后生产构建不生成 source map文档明确写道这“solves out of memory (OOM) issues on some smaller machines”即在小机器上解决过 OOM 问题。该变量属于内置配置变量文档 说明它不需要像自定义变量那样加REACT_APP_前缀可以直接在 shell 中设置或写入项目根目录的.env文件。临时对本次构建生效Linux/macOS 的 Bash参考 环境变量文档 中临时变量的一次性写法GENERATE_SOURCEMAPfalse npm run build希望对该项目的每次生产构建长期生效则在项目根目录创建或编辑.env文件写入GENERATE_SOURCEMAPfalse注意这条方案的文档边界它解决的是“some smaller machines”上的 OOM文档没有承诺对所有机器都有效如果设置后仍然报同样错误说明该变量没有覆盖你的失败原因应回到方案一处理机器内存。验证结果完成任一方案后重新执行npm run build按 Available Scripts 文档 的说明npm run build成功后会把应用构建为生产产物并输出到项目根目录下的build文件夹。因此判断修复成功的依据是终端不再出现 “The build failed because the process exited too early” 提示且构建完成后生成了build目录。限制与注意事项该报错信息本身不能区分 OOM 和kill -9排查顺序必须先排除人为终止进程再处理内存GENERATE_SOURCEMAPfalse只影响生产构建对npm start的开发模式无效且代价是生产产物没有 source map文档给出的内存判断条件是“可用内存不足 1 GB 时构建很可能失败”这是文档的表述不是精确阈值若构建机是 Heroku 等平台且报的并非此提示而是其他构建错误属于 Troubleshooting 文档 中另一节 “npm run buildfails on Heroku” 覆盖的问题不在本文范围内。参考文档troubleshooting.md、advanced-configuration.md、adding-custom-environment-variables.md、available-scripts.md【免费下载链接】create-react-appSet up a modern web app by running one command.项目地址: https://gitcode.com/gh_mirrors/cr/create-react-app创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考