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

Heroku部署Node+MongoDB+Express应用启动失败解决方案

问题现象

按照官方步骤在Heroku部署Node.js+MongoDB+Express栈的后端应用,构建显示成功,但访问应用地址直接返回错误页面:
错误页面截图
本地localhost环境运行完全正常,Stack Overflow检索到的常规方案尝试后均无效。

已排查的配置信息
  • 当前Procfile配置:
web: npm run start
  • 部署构建阶段日志显示构建成功,曾误以为日志中的NPM_CONFIG_LOGLEVEL=error是核心报错
  • 原始package.json配置:
{
  "name": "server",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "type": "module",
  "proxy": "http://localhost:5001",
  "scripts": {
      "start": "nodemon index.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
      "b": "^2.0.1",
      "body-parser": "^1.20.0",
      "cors": "^2.8.5",
      "dotenv": "^16.0.1",
      "express": "^4.18.1",
      "mongoose": "^6.4.0"
  },
  "engines": {
      "node": "15.x"
  }
}
  • 运行时执行heroku logs --tail抓取到核心报错:
sh: 1: nodemon: not found
Process exited with status 127
State changed from starting to crashed
at=error code=H10 desc="App crashed" method=GET path="/" status=503
  • 项目入口index.js逻辑:配置了基础中间件、/posts路由,根路径返回Hello to Memories API,从环境变量读取端口和MongoDB连接地址启动服务。
问题根因

核心报错就是nodemon: not found,和Procfile、NPM_CONFIG_LOGLEVEL配置无关:

  1. nodemon是本地开发用的文件监听热重载工具,你没有把它加到package.json的依赖列表里,Heroku生产环境构建时默认会裁剪所有devDependencies,不会安装开发阶段用的工具包
  2. 生产环境本身就不应该用nodemon启动服务,热重载能力在线上运行时完全不需要,反而会增加不必要的资源开销。

你本地能正常跑是因为本地全局或者在项目里单独装过nodemon,Heroku的全新生产环境没有这个包,自然会报命令不存在的127退出码,最终触发H10应用崩溃、返回503错误。另外构建日志里的NPM_CONFIG_LOGLEVEL=error是Heroku Node.js构建环境的默认配置,意思是npm安装依赖时只输出错误级别的日志,属于正常输出,不是报错。

修复方案
  • 修改package.json的scripts配置,拆分生产启动和本地开发命令:
"scripts": {
    "start": "node index.js",
    "dev": "nodemon index.js"
},

本地开发时执行npm run dev就能保留之前nodemon热重载的使用体验,生产环境npm run start直接用node启动服务,不需要依赖nodemon。

  • 现有Procfile的web: npm run start配置不需要修改,改完package.json后提交代码重新推送到Heroku即可完成部署:
git add .
git commit -m "fix: use node to start app in production env"
git push heroku master
  • 部署前额外检查Heroku后台的Config Vars配置,确认已经添加CONNECTION_URL环境变量,填入你的MongoDB连接地址,避免服务启动后因连不上数据库崩溃。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 23:24:26