【问题标题】:Heroku push gets rejectedHeroku推送被拒绝
【发布时间】:2017-01-09 02:50:29
【问题描述】:

我在将我的 master 分支推送到 heroku 时遇到问题。我正在使用以下命令:

git push heroku master

我遇到的错误-

Counting objects: 114, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (112/112), done.
Writing objects: 100% (114/114), 335.40 KiB | 0 bytes/s, done.
Total 114 (delta 0), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Failed to detect set buildpack https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/php.tgz
remote: More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure
remote:
remote:  !     Push failed
remote: Verifying deploy...
remote:

remote: !       Push rejected to skyconfapp.
remote:
To https://git.heroku.com/skyconfapp.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/skyconfapp.git'

我什至访问了 Heroku 的链接 https://devcenter.heroku.com/articles/buildpacks#detection-failure 并尝试实现他们提到的每一种方法,但似乎没有什么对我有用。

有人可以帮忙吗?

【问题讨论】:

  • 你可以使用替代的 buildpack 吗?失败的链接上似乎确实有一个文件,但 Heroku 未能将其添加到应用程序中。该特定构建包可能存在问题。
  • 也尝试过这样做,但仍然遇到相同的 buildpack 错误。 @黛博拉
  • 当您尝试通过 Heroku UI 进行设置时会发生什么?

标签: git heroku


【解决方案1】:

刚刚发生在我身上,然后我得到了这个工作

尝试清除 buildpacks,再次添加并添加/提交/推送到 heroku

heroku buildpacks:clear
heroku buildpacks:set heroku/php
git add/commit/push heroku master

【讨论】:

【解决方案2】:

我遇到了同样的问题,但我通过在根目录中添加“requirements.txt”来解决问题,如提到的here

只有当应用程序的根目录中有 requirements.txt 或 Pipfile 时,Heroku 支持才会应用于应用程序。即使应用程序没有模块依赖项,它也应该包含一个空的 requirements.txt 或 Pipfile 来记录您的应用程序没有依赖项。

【讨论】:

  • 这也是我的问题。 git 在父目录中初始化,但我将所有重要文件放在子文件夹中。将 requirements.txt(或 pipfile)移动到 root 解决了我的问题。
【解决方案3】:

如果您尝试推送 nodejs 应用程序并收到此错误,这可能是因为您没有指定节点版本。我遇到了这个错误,这是因为我没有指定“engines”:{“node:”8.2.1”}

您可以在这里了解更多详情:https://kb.heroku.com/why-is-my-node-js-build-failing-because-of-an-invalid-semver-requirement

【讨论】:

    【解决方案4】:

    这发生在我的 Node.js 应用程序不符合 buildpack 要求时。我在 /server 子目录中有 package.json 文件,但它需要位于根目录中。将所有服务器文件移动到根目录后,heroku 就能够确定正确的构建包,并且能够推送到我的 heroku 应用程序。

    【讨论】:

      【解决方案5】:

      对于节点用户,请确保只有一个文件满足 package-lock.json 的文件,我遇到了同样的问题,这是因为我有 npm-shrinkwrap.json 文件和 package-lock.json文件以及我不得不删除 package-lock.json 并且构建成功

      【讨论】:

        【解决方案6】:

        迟到的答案。也许对少数人有帮助。

        当我推送一个 python 应用程序时,这发生在我身上。如果命名某些文件时出现错误,可能会导致此问题。就我而言,它是 python,我拼错了文件名。因此,它无法检测到构建包。我猜重命名文件应该可行。

        【讨论】:

          【解决方案7】:

          如果不在应用程序的根目录中配置一些东西,就无法将随机存储库推送到 Heroku。例如,如果你想创建一个 Python 应用程序,你应该在应用程序的根目录中包含一个 requirements.txtsetup.py 文件。有了这个,Heroku 可以决定它需要什么样的资产并自行配置。并且您可以从这里成功推送。

          这个问题主要是由一个不可收集的依赖库引起的;检查您的要求。

          【讨论】:

            【解决方案8】:

            有时这是因为当您创建前端应用程序时,它也会自动初始化 git。

            首先,您必须删除 clientFolder 文件夹中的 .git 文件夹

            然后,运行下一段代码删除 git 子模块缓存

            git rm -f --cached clientFolder
            

            然后只需添加并提交到您的存储库

            git add .
            git commit -am 'Adding clientFolder to the main git repository'
            

            现在你可以运行了:

            git push heroku master
            

            希望这会对某人有所帮助。

            【讨论】:

              【解决方案9】:

              当我从 Gemfile 中删除一个无意义的 gem 后无法运行 bundle install 时,我在 Rails 中遇到了这个问题。因此,Gemfile.lock 不匹配,Heroku 拒绝了推送。

              【讨论】:

                【解决方案10】:

                我在一个 Javascript 项目中遇到了这个错误,因为我有 2 个锁定文件。 Heroku 不允许这样做。

                删除yarn.lock后,错误解决。

                【讨论】:

                  【解决方案11】:

                  1- 你的项目必须有 Procfile 2- 你的项目必须有一个requirements.txt ||使用 pip freeze > requirements.txt 命令

                  这个错误主要是由于缺少 Procfile 和 requirements.txt 文件引起的。 :)

                  【讨论】:

                    【解决方案12】:

                    我发现需求文件需要更新的 Python 版本。所以我只使用了 Python 3.10.0。完成后,我仍然遇到一些问题。但在重新阅读 Heroku 文档后,我按照以下步骤操作:

                    git init
                    heroku buildpacks:clear
                    heroku buildpacks:set heroku/python
                    heroku git:remote -a <app_name>
                    git add .
                    git commit -am "make it better"
                    git push heroku master
                    

                    【讨论】:

                      猜你喜欢
                      • 2021-09-22
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 2023-03-16
                      • 2019-05-31
                      • 2021-05-06
                      • 2016-08-14
                      相关资源
                      最近更新 更多