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

Vite项目在Dokku构建时卡在transforming阶段失败

Vite项目Dokku构建失败:"type-check" exited with 137

问题描述

本地执行vite build及DigitalOcean PaaS平台均可正常构建Vite项目,但部署到Dokku平台时,构建进程卡在transforming...阶段后被终止,报错"type-check" exited with 137,导致构建失败。

完整构建日志

remote: -----> 清理中...        
remote: -----> 基于herokuish构建应用        
remote: -----> 向构建环境添加BUILD_ENV...        
remote:        BUILD_ENV添加成功        
remote:        -----> 检测到Node.js应用        
remote:                
remote: -----> 创建运行时环境        
remote:                
remote:        NPM_CONFIG_LOGLEVEL=error        
remote:        NODE_VERBOSE=false        
remote:        NODE_ENV=production        
remote:        NODE_MODULES_CACHE=true        
remote:                
remote: -----> 安装二进制文件        
remote:        engines.node (package.json):  未指定        
remote:        engines.npm (package.json):   未指定(使用默认版本)        
remote:                
remote:        解析Node版本20.x...        
remote:        下载并安装Node 20.11.0...        
remote:        使用默认npm版本:10.2.4        
remote:                
remote: -----> 安装依赖        
remote:        安装Node模块        
remote:                
remote:        已添加786个包,在38秒内完成787个包的审计        
remote:                
remote:        144个包正在寻求资金支持        
remote:        运行`npm fund`查看详情        
remote:                
remote:        42个漏洞(37个中等,5个高危)        
remote:                
remote:        要处理无需关注的问题,请运行:        
remote:        npm audit fix        
remote:                
remote:        部分问题需要审核,可能需要选择不同的依赖。        
remote:        运行`npm audit`查看详情。        
remote:        npm通知        
remote:        npm通知:有新版本的npm可用!10.2.4 -> 10.5.0        
remote:        npm通知:更新日志:<https://github.com/npm/cli/releases/tag/v10.5.0>        
remote:        npm通知:运行`npm install -g npm@10.5.0`进行更新!        
remote:        npm通知        
remote:                
remote: -----> 构建        
remote:        执行构建        
remote:                
remote:        > app@0.2.0 build        
remote:        > run-p type-check build:only        
remote:                
remote:                
remote:        > app@0.2.0 type-check        
remote:        > vue-tsc --noEmit        
remote:                
remote:                
remote:        > app@0.2.0 build:only        
remote:        > vite build        
remote:                
remote:        vite v4.5.0 为生产环境构建中...        
remote:        transforming...        
remote: Killed        
remote: ERROR: "type-check" exited with 137.        
remote:                
remote: -----> 构建失败        
remote:                
remote:        很抱歉构建失败!您可以在此排查常见问题:        
remote:        https://devcenter.heroku.com/articles/troubleshooting-node-deploys        
remote:                
remote:        可能的问题:        
remote:                
remote:        - package.json中未指定Node版本        
remote:        https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version        
remote:                
remote:        此致,        
remote:        Heroku        
remote:                
remote:  !     应用构建过程失败        
remote:  !     移除无效镜像标签 dokku/app:latest        
remote:  !     应用构建失败

解决方案

退出码137表明进程因内存不足被系统强制终止,针对Dokku平台的解决方法如下:

  • 增加Node.js内存限制:通过配置NODE_OPTIONS增大Node可用内存:

    dokku config:set <你的应用名称> NODE_OPTIONS="--max-old-space-size=4096"
    
  • 调整Dokku构建容器内存:直接修改构建容器的内存配额:

    dokku docker-options:add <你的应用名称> build "-m 4g"
    
  • 串行执行构建与类型检查:当前使用run-p并行执行type-check和vite build会加倍占用内存,改为串行执行:
    修改package.json中的scripts字段:

    "scripts": {
      "build": "npm run type-check && npm run build:only",
      "type-check": "vue-tsc --noEmit",
      "build:only": "vite build"
    }
    
  • 优化类型检查性能:

    • 在tsconfig.json中缩小include范围,排除无需检查的文件
    • 给vue-tsc添加--skipLibCheck参数跳过第三方库类型检查:
      "type-check": "vue-tsc --noEmit --skipLibCheck"
      
    • 升级vue-tsc、typescript到最新版本,利用性能优化
  • 指定Node.js版本:按照日志提示,在package.json中添加engines字段:

    "engines": {
      "node": "20.x",
      "npm": "10.x"
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 12:50:24