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

Heroku部署NestJS项目:构建成功但启动失败访问报错求助

解决Heroku部署NestJS时nest: not found错误

问题根源

日志中/tmp/start-7b018378.sh: 1: nest: not found明确说明:Heroku运行环境未全局安装Nest CLI,而你的npm start脚本直接调用nest start,导致命令无法被识别。

修复方案

方案1:使用编译后的产物启动(推荐生产环境)

NestJS生产部署优先用编译后的JS文件,无需依赖Nest CLI:

  1. 确保package.json包含build脚本:
"scripts": {
  "build": "nest build",
  // 其他脚本
}
  1. 修改start脚本为启动编译后的主文件:
"scripts": {
  "start": "node dist/main.js",
  // 其他脚本
}
  1. 确认@nestjs/cli在devDependencies中(Heroku构建阶段会自动安装dev依赖执行build,构建完成后清理dev依赖,不影响生产运行):
"devDependencies": {
  "@nestjs/cli": "^x.x.x",
  // 其他开发依赖
}

方案2:调用本地Nest CLI启动(适合开发环境)

若需保留nest start的开发模式启动,修改start脚本调用项目本地的Nest CLI:

"scripts": {
  "start": "npx nest start",
  // 或使用绝对路径:"./node_modules/.bin/nest start"
}

同时要将@nestjs/cli移至dependencies中(生产环境需要该依赖):

"dependencies": {
  "@nestjs/cli": "^x.x.x",
  // 其他生产依赖
}

验证操作

修改完成后提交代码到GitHub,触发Heroku Pipeline重新部署,查看日志确认启动命令正常执行,访问应用即可恢复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 01:20:31