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

Heroku部署Nuxt+Express服务端应用启动报错sh:1:nuxt:not found

问题根因分析

你遇到的报错核心是 sh: 1: nuxt: not found,和Express服务完全无关,报错触发时还没有到加载Express服务的步骤,也不需要你在本地提前执行构建操作,你配置的heroku-postbuild钩子已经可以让Heroku在部署阶段自动完成构建。

这个错误的本质是Heroku的启动环境找不到nuxt命令的执行路径:你本地开发时可能全局安装过nuxt,所以直接执行nuxt start可以正常运行,但Heroku的生产环境没有安装全局nuxt包,直接写nuxt start会找不到对应可执行文件。

解决方案

直接修改你package.json中的scripts配置,将start脚本改为调用本地node_modules中的nuxt可执行文件即可:

{
  "scripts": {
    // 其他脚本保持不变
    "start": "npx nuxt start"
    // 也可以写为 "start": "./node_modules/.bin/nuxt start"
  }
}

可选校验步骤

如果修改后还是报错,可以临时在heroku-postbuild钩子中增加校验命令,确认nuxt依赖是否正常安装:

{
  "scripts": {
    "heroku-postbuild": "npm run build && ls node_modules/.bin | grep nuxt"
  }
}

部署后查看构建日志,如果能看到nuxt的输出,就说明依赖安装正常,问题只出在启动命令的路径上。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 02:24:04