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

Heroku部署全栈应用报错:Command 'build' not found求助

解决Heroku部署Node.js + React全栈应用的Build失败问题

我帮你分析下部署时遇到的错误,核心问题和修复方案如下:

1. 修复heroku-postbuild脚本的冗余依赖安装

你的根目录package.json里的heroku-postbuild脚本存在逻辑问题:

"heroku-postbuild": "cd client && yarn install && yarn install --only=dev --no-shrinkwrap && yarn run build"

第二次执行yarn install --only=dev会覆盖第一次安装的完整依赖,而react-scripts(用于执行build命令)是client项目的生产必需依赖(在dependencies中),只安装dev依赖会直接导致找不到build命令。

修改为精简且正确的脚本:

"heroku-postbuild": "cd client && yarn install && yarn build"

2. 指定Node和Yarn版本(避免兼容性问题)

Heroku默认会使用最新的Node版本,但可能和你本地开发环境不一致,引发依赖安装或构建失败。在根目录和client目录的package.json中添加engines字段,比如:

"engines": {
  "node": "16.x",
  "yarn": "1.x"
}

版本号可以改成你本地正在使用的版本(执行node -v和yarn -v查看即可)。

3. 解决No license field警告(可选但推荐)

这个警告不影响构建,但可以通过在根目录和client目录的package.json中添加license字段消除:

"license": "MIT"

如果不想公开授权,可以使用"license": "UNLICENSED"。

额外验证步骤

  • 本地测试:在终端执行cd client && yarn build,确认能正常生成build目录,排除本地构建逻辑问题。
  • 检查.gitignore:确保node_modules、client/node_modules和client/build都被忽略,避免提交本地依赖或构建产物到Git。

完成以上修改后,重新提交代码到Heroku应该就能正常构建了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 09:16:43