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

webpack 5.64.4生产构建报ERR_WORKER_INVALID_EXEC_ARGV错误求助

webpack 5.64.4生产构建中断问题排查求助

我在使用webpack 5.64.4执行生产构建时出现错误导致构建中断,所用相关依赖版本如下:

webpack - 5.64.4
jest - 26.6.2
nrwl - 12.10.0
node - 14.16

我怀疑问题和webpack官方issue 14859相关,但暂未定位到确切根因。构建从11月29日该issue的修复上线后开始失败,本地macOS环境运行正常,但测试环境构建失败,我暂时不希望升级jest版本,恳请各位提供排查或解决思路,若需补充更多信息我会及时提供。

依赖详情及错误栈

jest-worker依赖安装详情如下:

npm ls jest-worker

├─┬ @angular-devkit/build-angular@12.2.13
│ ├─┬ css-minimizer-webpack-plugin@3.0.2
│ │ └── jest-worker@27.3.1 
│ └─┬ terser-webpack-plugin@5.1.4
│   └── jest-worker@27.3.1  deduped
├─┬ @nrwl/nest@12.10.0
│ └─┬ @nrwl/jest@12.10.0
│   ├─┬ @jest/reporters@27.2.2
│   │ ├─┬ jest-haste-map@27.4.2
│   │ │ └── jest-worker@27.4.2 
│   │ └── jest-worker@27.3.1  deduped
│   └─┬ jest-config@27.2.2
│     └─┬ jest-runner@27.4.2
│       └── jest-worker@27.4.2 
├─┬ @storybook/addon-essentials@6.3.12
│ └─┬ @storybook/addon-docs@6.3.12
│   ├─┬ @jest/transform@26.6.2
│   │ └─┬ jest-haste-map@26.6.2
│   │   └── jest-worker@26.6.2 
│   └─┬ @storybook/builder-webpack4@6.3.12
│     └─┬ terser-webpack-plugin@4.2.3
│       └── jest-worker@26.6.2 
├─┬ @storybook/angular@6.3.12
│ └─┬ @storybook/core@6.3.12
│   └─┬ @storybook/core-server@6.3.12
│     └─┬ @storybook/manager-webpack4@6.3.12
│       └─┬ terser-webpack-plugin@4.2.3
│         └── jest-worker@26.6.2 
├─┬ jest@26.2.2
│ └─┬ @jest/core@26.6.3
│   ├─┬ @jest/reporters@26.6.2
│   │ └── jest-worker@26.6.2 
│   ├─┬ jest-haste-map@26.6.2
│   │ └── jest-worker@26.6.2  deduped
│   ├─┬ jest-resolve-dependencies@26.6.3
│   │ └─┬ jest-snapshot@26.6.2
│   │   └─┬ jest-haste-map@26.6.2
│   │     └── jest-worker@26.6.2 
│   └─┬ jest-runner@26.6.3
│     └── jest-worker@26.6.2  deduped
└─┬ jest-cli@26.2.2
  └─┬ jest-config@26.6.3
    └─┬ @jest/test-sequencer@26.6.3
      ├─┬ jest-haste-map@26.6.2
      │ └── jest-worker@26.6.2 
      └─┬ jest-runner@26.6.3
        └── jest-worker@26.6.2

完整错误栈如下:

21:57:38  ERROR in 319.0a46e60283f8bec09734.manager.bundle.js from Terser
21:57:38  Error [ERR_WORKER_INVALID_EXEC_ARGV]: Initiated Worker with invalid NODE_OPTIONS env variable: --max-http-header-size= is not allowed in NODE_OPTIONS
21:57:38      at new Worker (internal/worker.js:164:13)
21:57:38      at ExperimentalWorker.initialize (/bld/workspace/_Pipeline2_NX_Upgrade_forCypress@2/flex/node_modules/jest-worker/build/workers/NodeThreadsWorker.js:149:20)
21:57:38      at new ExperimentalWorker (/bld/workspace/_Pipeline2_NX_Upgrade_forCypress@2/flex/node_modules/jest-worker/build/workers/NodeThreadsWorker.js:145:10)
21:57:38      at WorkerPool.createWorker (/bld/workspace/_Pipeline2_NX_Upgrade_forCypress@2/flex/node_modules/jest-worker/build/WorkerPool.js:44:12)
21:57:38      at new BaseWorkerPool (/bld/workspace/_Pipeline2_NX_Upgrade_forCypress@2/flex/node_modules/jest-worker/build/base/BaseWorkerPool.js:127:27)
21:57:38      at new WorkerPool (/bld/workspace/_Pipeline2_NX_Upgrade_forCypress@2/flex/node_modules/jest-worker/build/WorkerPool.js:30:1)
21:57:38      at new Worker (/bld/workspace/_Pipeline2_NX_Upgrade_forCypress@2/flex/node_modules/jest-worker/build/index.js:167:26)
21:57:38      at getWorker (/bld/workspace/_Pipeline2_NX_Upgrade_forCypress@2/flex/node_modules/terser-webpack-plugin/dist/index.js:288:9)
21:57:38      at /bld/workspace/_Pipeline2_NX_Upgrade_forCypress@2/flex/node_modules/terser-webpack-plugin/dist/index.js:389:41
21:57:38      at /bld/workspace/_Pipeline2_NX_Upgrade_forCypress@2/flex/node_modules/terser-webpack-plugin/node_modules/p-limit/index.js:23:31
21:57:38      at run (/bld/workspace/_Pipeline2_NX_Upgrade_forCypress@2/flex/node_modules/terser-webpack-plugin/node_modules/p-limit/index.js:23:43)
21:57:38      at next (/bld/workspace/_Pipeline2_NX_Upgrade_forCypress@2/flex/node_modules/terser-webpack-plugin/node_modules/p-limit/index.js:16:19)
21:57:38      at run (/bld/workspace/_Pipeline2_NX_Upgrade_forCypress@2/flex/node_modules/terser-webpack-plugin/node_modules/p-limit/index.js:31:3)
21:57:38      at runMicrotasks (<anonymous>)
21:57:38      at processTicksAndRejections (internal/process/task_queues.js:97:5)
21:57:38      at runNextTicks (internal/process/task_queues.js:66:3)

排查及解决思路

  • 优先检查测试环境的NODE_OPTIONS环境变量配置:错误直接提示--max-http-header-size=为空值属于无效参数,直接删除该空配置项或补全合法的参数值即可解决问题,这是最直接的根因。
  • 若需要保留现有环境参数配置,可临时关闭terser-webpack-plugin的多线程压缩能力,绕开jest-worker的参数校验逻辑:在webpack配置中找到terser插件配置项,添加parallel: false即可,该方案不需要修改任何依赖版本,也不会影响现有jest版本的使用。
  • 若上述方案不适用,可通过包管理器的依赖覆盖功能统一锁定所有jest-worker版本为26.x:npm可在package.json中添加overrides字段,yarn可添加resolutions字段,指定所有jest-worker版本为26.6.2,重新安装依赖即可规避高版本jest-worker的校验规则。
  • 另外可对比本地和测试环境的依赖锁文件,确认是否存在依赖版本差异,通过统一锁文件保证所有环境依赖版本一致,避免构建时自动拉取更新的依赖版本触发问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:06:04