Heroku部署MERN应用报错:Missing script: "build" 求助
解决Heroku部署MERN应用时"Missing script: 'build'"错误
核心原因
报错是因为Heroku执行cd client && npm run build时,client目录下的package.json里未定义build脚本,或是路径、依赖安装环节出现问题。
具体排查与修复步骤
检查client端package.json
进入本地client文件夹,打开package.json,确认scripts字段中存在"build": "react-scripts build"(Create React App生成的项目默认自带该脚本)。如果缺失,手动添加这一行:"scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }确认client目录路径正确
核对server端package.json里的heroku-postbuild脚本:cd client && npm install && npm run build,确保前端项目确实在根目录下的client文件夹内,没有拼写错误(比如误写为clients或嵌套在其他目录)。清理依赖缓存后重新部署
本地先清理client目录的依赖文件,重新安装依赖:cd client rm -rf node_modules package-lock.json npm install提交所有修改后重新部署到Heroku:
git add . git commit -m "fix: 补全build脚本并刷新依赖" git push heroku main对齐Heroku与本地Node版本
确保Heroku使用的Node版本和你本地一致(你的server配置为18.6.0),可通过命令行设置:heroku config:set NODE_VERSION=18.6.0
内容的提问来源于stack exchange,提问作者Captai-N
相关产品推荐
相关产品推荐

