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

Next.js服务器构建出现error Command failed with signal "SIGBUS"求助

解决Next.js构建时的SIGBUS错误

以下是针对你遇到的error Command failed with signal "SIGBUS"错误的具体解决步骤,按顺序尝试即可:

  • 检查服务器内存
    SIGBUS错误大概率是内存不足导致的,Next.js生产构建需要一定内存资源。先执行free -h查看当前内存使用情况:

    • 如果可用内存不足,先关闭其他非必要的占用内存进程;
    • 临时增加swap分区(适合小内存服务器,比如1G/2G内存的机器):
      # 创建4G大小的swap文件,可根据需求调整数值
      sudo fallocate -l 4G /swapfile
      sudo chmod 600 /swapfile
      sudo mkswap /swapfile
      sudo swapon /swapfile
      
      构建完成后,若不需要swap,可执行sudo swapoff /swapfile && sudo rm /swapfile删除。
  • 检查磁盘空间
    磁盘满了也会导致构建失败,执行df -h查看项目所在分区的剩余空间,确保至少有2-3G的余量。如果空间不足,清理日志、临时文件或者扩容磁盘。

  • 清理依赖缓存并重装依赖
    依赖缓存损坏可能引发异常,执行以下命令重置依赖:

    rm -rf node_modules package-lock.json yarn.lock
    npm install # 用yarn的话换成yarn install
    

    完成后再运行npm run build尝试构建。

  • 确认Node.js版本符合要求
    Next.js对Node.js版本有明确要求,建议使用官方推荐的LTS版本(目前是18.x或20.x)。执行node -v查看当前版本,若版本不符,用nvm管理版本:

    # 安装nvm,重启终端后生效
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
    # 安装并切换到LTS版本
    nvm install --lts
    nvm use --lts
    

    切换版本后重新构建项目。

  • 增加Node.js构建的内存限制
    手动指定Node.js进程的内存上限,比如设置为4G:

    NODE_OPTIONS="--max-old-space-size=4096" npm run build
    

    数值可根据服务器实际内存调整,比如2G内存就设为2048。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 12:10:23