Heroku NodeJS 帮助 - 推送被拒绝,未检测到 Cedar 支持的应用程序

Heroku NodeJS Help – Push rejected, no Cedar-supported app detected

需要有关将 nodeJS 应用程序部署到 Heroku 的帮助。我有我的 Procfile 和 Package.son 文件。这就是我得到的...

remote: Building source: remote:
remote: -----> Fetching custom git buildpack... done remote:
remote: ! Push rejected, no Cedar-supported app detected remote: HINT: This occurs when Heroku cannot detect the build pack remote: to use for this application automatically. remote: See https://devcenter.heroku.com/articles/buildpacks remote:

这条消息对我来说没有意义,因为它说获取构建包已完成..我还缺少什么?有什么建议吗?

谢谢。

听起来您设置了自定义构建包。对于 node,通常最好只使用官方构建包:

heroku buildpack:unset

设置并推送后,它不会说 "fetching custom buildpack,",而是会告诉您它检测到 node.js 应用程序。如果它没有检测到 node.js 应用程序,则表示您的应用程序缺少其 package.json 文件(小写)。

我遇到了同样的问题。我通过首先删除使用命令设置的自定义构建包来修复它:

heroku buildpacks:remove my-buildpack

要查看您正在使用的 buildpack,您可以 运行 命令 heroku buildpacks

然后我 运行 命令 npm init 创建一个 package.json 文件,并提交更改。

然后使用官方 buildpack 我 运行 命令:

heroku buildpacks:set heroku/nodejs

我很高兴去!错误消失了。如果你已经有一个 package.json 你可能不需要担心 运行 宁 npm init,但它对我有用。 Heroku 在这里深入讨论了这个问题:https://devcenter.heroku.com/articles/troubleshooting-node-deploys