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

部署Laravel+Inertia.js(Vue)至DigitalOcean时npm run build卡住求助

Laravel + Inertia.js(Vue)部署DigitalOcean时npm run build卡住的排查方案

可能原因

  • vue-tsc类型检查环节卡住:存在未解决的TypeScript类型错误,或tsconfig配置异常导致进程挂起
  • 服务器内存不足:DigitalOcean小内存Droplet(如1GB规格)在构建时内存耗尽,进程停滞
  • 依赖版本不兼容:Vue、Vite、vue-tsc等核心依赖版本不匹配,触发构建流程异常
  • 文件权限不足:构建时无法写入dist或public目录,导致进程卡住

解决方法

1. 排查并修复TypeScript类型问题

直接单独执行类型检查命令,定位具体错误:

vue-tsc
  • 若输出类型错误,逐一修复代码中的类型不匹配、未定义变量等问题
  • 临时应急可修改tsconfig.json,添加"skipLibCheck": true跳过第三方库类型检查,或暂时从build命令中移除vue-tsc &&(不推荐长期使用)

2. 缓解内存不足问题

先查看服务器内存状态:

free -h
  • 内存不足时,优先升级Droplet内存规格
  • 临时方案:添加swap分区补充内存
    sudo fallocate -l 2G /swapfile
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
    
    构建完成后可关闭swap:sudo swapoff /swapfile

3. 修复依赖版本冲突

  • 核对package.json中核心依赖版本:vue-tsc版本需与Vue版本匹配(Vue3.2+对应vue-tsc0.30+,Vue3.3+对应vue-tsc1.0+)
  • 清理现有依赖后重新安装:
    rm -rf node_modules package-lock.json
    npm install
    

4. 修复文件权限问题

确保当前用户对项目目录有读写权限:

sudo chown -R $USER:$USER /path/to/your/project
sudo chmod -R 755 /path/to/your/project/public

5. 分步执行构建命令定位问题

将build命令拆分为三步单独执行,确定卡住的具体环节:

  1. vue-tsc
  2. vite build
  3. vite build --ssr
    针对出错的环节做针对性修复

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 19:35:06