You need to enable JavaScript to run this app. Webpack 5.11.1执行初始构建时出现Segmentation fault(错误码139)问题求助
优惠活动
大模型
产品
解决方案
定价
更多

Webpack 5.11.1执行初始构建时出现Segmentation fault(错误码139)问题求助

问题核心判定

这个报错几乎不可能是Webpack配置写错导致的。
报错码139是操作系统直接强制终止了Node进程,属于系统级的原生崩溃——如果是Webpack配置逻辑错误,Webpack会直接抛出可读的JS校验错误,不会触发核心转储(core dumped)的段错误。
你之前试过的操作没解决问题,是因为没命中核心触发条件,按以下顺序排查即可:

对应诱因和解决步骤

  • 原生依赖和Node版本不兼容
    你当前用的Node v15.5.0是没有长期维护的临时版本,Webpack生态里大量带C++原生绑定的依赖(比如sharp、esbuild、sass、SWC核心)根本不会给这类非LTS版本做预编译适配,进程加载到这类模块时会直接触发段错误。
    注意操作细节:切换Node版本必须固定选16.x或18.x的LTS分支,必须同时删掉node_modules目录、package-lock.json锁文件、npm本地缓存后重装依赖——只切换Node版本不清理旧文件的话,目录里残留的旧版本预编译包和当前Node运行时不匹配,就算换了版本依然会崩。
  • 系统资源限制强制杀进程
    Linux对单进程的内存、栈占用有默认上限,Webpack构建时内存冲高,超过系统限制时会被直接判定为内存越界终止,报出core dumped的错误。
    先跑ulimit -a看当前的资源限制值,临时放开限制后重新构建;如果是低配置设备或者WSL环境,给Node手动分配足够的堆内存再执行构建:
    NODE_OPTIONS="--max-old-space-size=4096" npm run build
    
  • 拉取了架构不匹配的依赖二进制
    安装依赖时如果网络波动,npm有可能错拉其他CPU架构的预编译包,运行这类和本地架构不匹配的二进制时必然触发段错误。
    可以清空全量缓存重新安装:
    npm cache clean --force
    rm -rf node_modules package-lock.json
    npm install
    
  • 系统glibc版本不兼容
    Webpack 5及周边生态的新依赖,要求系统glibc版本不低于2.28,如果你当前的Linux发行版(对应5.4内核)glibc版本太低,加载新编译的预编译模块时会直接崩溃。这种情况要么升级系统基础库,要么把Webpack及配套依赖降到适配低版本glibc的稳定分支。

为什么之前的操作没生效

之前的操作缺了关键的清理步骤:比如切换Node版本时没删锁文件和旧的node_modules,重装nvm时没清全局缓存,磁盘上残留的旧原生绑定文件一直和当前运行环境不匹配,自然会反复触发崩溃。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.10 12:36:11