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

使用Jenkins构建Vue项目时出现Error: write EPIPE及npm ERR! errno 137错误求助

排查Jenkins构建Vue项目时的errno 137和EPIPE错误

我来帮你拆解这两个关联问题,给出具体的排查思路和解决方案:

错误本质解析

这两个错误其实是连锁反应,核心原因指向内存不足:

  • npm ERR! errno 137:日志里的Killed是关键信号——Linux系统的OOM(内存不足) Killer会在内存耗尽时,自动杀掉占用内存最高的进程来避免系统崩溃,你的vue-cli-service build进程正好被选中终止了。
  • Error: write EPIPE:这是衍生错误,构建过程中Webpack依赖的子进程(比如terser-webpack-plugin的JS压缩worker进程)已经被OOM Killer干掉,但父进程还在尝试往管道里写数据,于是触发了管道写入失败的异常。

排查思路

  1. 确认OOM Killer行为:在Jenkins构建机器上执行dmesg | grep -i oom,查看系统日志里是否有OOM Killer的记录,里面会明确显示哪个进程因内存不足被终止,验证我们的判断。
  2. 监控构建时的内存占用:在构建脚本开头加free -h查看初始内存状态,构建过程中用top或htop实时监控内存使用,确认是不是打包过程中内存被完全占满。

解决方案

1. 直接提升硬件/容器内存(最彻底)

如果你的Jenkins构建机器(或Docker Agent)内存配置较低(比如≤2G),Vue项目的Webpack打包很容易因内存不足被kill:

  • 物理机器:升级内存到4G及以上
  • Docker Agent:调整容器的内存配额,比如增加到4G

2. 优化Webpack构建的内存开销

针对Vue项目的构建配置做优化,减少内存占用:

  • 调整terser-webpack-plugin并发数:这个插件默认启用多进程压缩JS,会占用大量内存。修改vue.config.js:
    module.exports = {
      configureWebpack: {
        optimization: {
          minimizer: [
            require('terser-webpack-plugin')({
              parallel: 1, // 减少并发数,或设为false禁用多进程
            })
          ]
        }
      }
    }
    
  • 启用Webpack缓存:开启缓存让后续构建复用之前的编译结果,减少重复计算的内存开销:
    module.exports = {
      configureWebpack: {
        cache: true
      }
    }
    
  • 剥离第三方依赖到CDN:把Vue、Element UI等体积大的第三方库通过CDN引入,不打包进项目,减少Webpack需要处理的模块数量。修改vue.config.js的externals配置:
    module.exports = {
      configureWebpack: {
        externals: {
          vue: 'Vue',
          'element-ui': 'ELEMENT'
        }
      }
    }
    
    然后在public/index.html里引入对应的CDN链接。

3. 调整Jenkins环境的资源限制

  • 如果Jenkins有多个Agent,限制同一Agent上的并发构建任务数,避免多个任务同时抢占内存。
  • 检查Jenkins Agent的启动参数,若有内存限制配置,适当放宽配额。

4. 临时应急方案

  • 清理构建缓存:有时候缓存损坏会导致异常内存占用,执行以下命令重置依赖和缓存:
    rm -rf node_modules dist
    npm cache clean --force
    npm install
    
  • 降级sass-loader:虽然日志里只是警告,但新版本的sass-loader可能存在内存占用问题,可降级到稳定版本:
    npm install sass-loader@10.4.1 --save-dev
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 13:27:40