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

更新NextJS后Heroku部署遭遇构建错误求助

Next.js 部署 Heroku 构建依赖冲突问题解决

问题分析

从构建日志可明确核心矛盾:

  • 项目声明依赖 next@13.1.1,该版本要求 peer 依赖 react@^18.2.0
  • Heroku 缓存中残留旧版本 next@12.0.7,且服务器端依赖解析逻辑与本地存在差异,导致冲突无法自动调和

解决步骤

  • 检查并同步 React 版本
    打开项目根目录的 package.json,确认 react 和 react-dom 版本是否为 ^18.2.0 或兼容 React 18 的版本。若版本不符,修改后执行本地依赖重装:

    rm -rf node_modules package-lock.json
    npm install
    
  • 清除 Heroku 缓存
    Heroku 默认缓存 node_modules,旧缓存会干扰新依赖解析,执行命令清除:

    heroku builds:cache:purge
    
  • 确认引擎配置兼容性
    虽然你指定的 Node 16.15.0 和 npm 8.5.5 兼容 Next.js 13,但可尝试将 npm 升级到 8.x 最新稳定版(如 8.19.4),更新 package.json 中的 engines 字段:

    "engines": {
      "node": "16.15.0",
      "npm": "8.19.4"
    }
    
  • 临时兼容处理(仅当上述方法无效时使用)
    若存在第三方依赖暂不支持 React 18,可修改 package.json 的 scripts 字段,强制使用旧版依赖解析逻辑:

    "scripts": {
      "install": "npm install --legacy-peer-deps"
    }
    

    注意:这是临时方案,后续需优先升级所有依赖到兼容版本。

验证操作

完成上述步骤后,重新推送代码到 Heroku:

git add .
git commit -m "Fix Heroku build dependency conflict"
git push heroku main

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 14:35:52