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

Heroku部署Next.js应用报错sh: 1: next: not found 本地运行正常

问题原因

日志输出的sh: 1: next: not found是核心报错,指Heroku运行环境无法定位到next命令的可执行文件,按以下步骤修复即可:

解决步骤

  • 步骤1:补充Node.js版本约束
    在你的package.json顶层添加engines字段,填写和你本地运行正常的Node.js、npm版本一致的配置,避免版本兼容导致的依赖安装异常,示例:
{
  "private": true,
  "engines": {
    "node": "16.x",
    "npm": "8.x"
  },
  "scripts": {
    // 保持你原有脚本不变
  },
  // 其余原有配置不变
}
  • 步骤2:确认依赖安装路径调用
    把package.json里的start脚本修改为直接调用本地node_modules下的next可执行文件,规避全局路径找不到的问题:
"start": "node_modules/.bin/next start -p $PORT"
  • 步骤3:检查提交的文件
    确保你已经把package-lock.json或者yarn.lock提交到了Git仓库,不要在.gitignore中忽略这两个文件,否则Heroku安装依赖时会出现版本不匹配,导致next没有正确安装到生产环境。
  • 步骤4:排查环境变量配置
    登录Heroku控制台查看你的应用环境变量,确认没有设置NPM_CONFIG_PRODUCTION=true或者YARN_PRODUCTION=true,这类配置会导致依赖安装逻辑异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 19:57:00