推送静态文件到Heroku时出现pre-receive hook declined错误如何解决
Heroku静态文件推送报错解决方案
你现有的app.js配置符合Heroku部署要求,端口已正确适配环境变量,无需修改。pre-receive hook declined报错是部署前校验不通过导致,按以下步骤排查修复:
- 检查项目根目录是否存在
package.json文件,这是Heroku识别Node.js项目的必要配置,必填项参考如下:
{ "name": "static-heroku-app", "version": "1.0.0", "dependencies": { "express": "^4.18.0" }, "scripts": { "start": "node app.js" }, "engines": { "node": ">=16.0.0" } }
确保express已加入依赖列表,同时配置start启动指令,Heroku部署完成后会默认执行该命令启动服务。
- 检查本地git提交的文件完整性:确认
app.js、package.json、整个public文件夹都已执行git add和git commit,不要漏提交必要文件。同时根目录新增.gitignore文件,过滤node_modules文件夹,避免提交不必要的依赖文件。 - 确认Heroku应用绑定了正确的Node.js构建包,本地执行命令设置:
heroku buildpacks:set heroku/nodejs - 若以上步骤执行完成仍报错,执行
heroku logs --tail查看实时部署日志,定位具体失败原因,常见额外问题包括依赖包安装失败、Node.js版本不兼容等。
内容的提问来源于stack exchange,提问作者Akpasi Favour
相关产品推荐
相关产品推荐

