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

Node.js部署Heroku成功后运行报错missing script: start如何解决

问题原因

核心错误来自日志中的npm ERR! missing script: start提示:Heroku部署Node.js应用时,默认会执行npm start命令启动项目,但你的项目根目录下的package.json文件没有配置对应的start启动脚本,导致启动进程异常退出,最终触发H10应用崩溃报错。
本地运行正常是因为你大概率是直接通过node 入口文件名.js的方式手动启动服务,不需要调用npm的start脚本,所以没有提前暴露该问题。

解决方案
  • 打开项目根目录下的package.json文件,找到scripts配置项,添加start启动命令,示例如下(将app.js替换为你实际的项目入口文件名,比如index.js、server.js都可以):
{
  "name": "你的项目名称",
  "version": "1.0.0",
  "scripts": {
    "start": "node app.js"
  },
  "dependencies": {
    // 项目原有依赖保持不变
  }
}
  • 额外检查项目入口文件的端口监听配置,不要写死固定端口3000,要适配Heroku的动态端口分配规则,修改示例:
// 错误写法(本地可用,Heroku会失效)
// app.listen(3000)

// 正确写法
const PORT = process.env.PORT || 3000
app.listen(PORT, () => {
  console.log(`服务已启动,端口:${PORT}`)
})
  • 将修改后的文件提交到代码仓库,重新推送到Heroku部署即可正常访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 20:45:04