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

React项目部署Heroku推送失败报错,求分步解决及部署指导

部署失败核心原因

构建阶段执行Knex数据库迁移时无法获取PostgreSQL数据库连接:

  1. Heroku构建阶段不会注入应用的配置变量,你将数据库迁移放在了build脚本中,构建过程无法读取到数据库连接地址DATABASE_URL
  2. 未开通Heroku PostgreSQL服务,就算能读取到连接地址也没有实际可用的数据库
分步解决指南
  • 开通Heroku PostgreSQL服务
    进入你的Heroku应用后台,打开「资源」选项卡,搜索添加Heroku Postgres插件,选择免费的Hobby Dev规格开通即可,开通后Heroku会自动为应用生成DATABASE_URL配置变量。
  • 修改package.json脚本配置
    打开项目根目录的package.json,调整脚本部分如下:
{
  "scripts": {
    // 原有其他脚本保留不变
    "build": "npm run build:client",
    "release": "npm run knex -- migrate:latest"
  }
}
将数据库迁移从build脚本中移除,新增的release脚本会在Heroku构建完成、新版本启动前执行,该阶段可正常读取数据库配置。
- 校验knex生产环境配置
打开`/server/db/knexfile.js`,确认production配置段格式如下:
```javascript
module.exports = {
  // 开发、测试等其他环境配置保留不变
  production: {
    client: 'pg',
    connection: process.env.DATABASE_URL,
    migrations: {
      directory: './migrations'
    }
  }
}
  • 重新提交代码部署
    所有修改提交到GitHub仓库后,重新向Heroku推送代码即可完成部署。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 22:06:02