【问题标题】:remote rejected master -> master (pre-receive hook declined)远程拒绝主 -> 主(预接收挂钩被拒绝)
【发布时间】:2012-03-21 12:13:19
【问题描述】:

我正在使用 rails 3.2,当我尝试推送到 heroku 时收到错误消息:

 git push heroku master
Counting objects: 496, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (435/435), done.
Writing objects: 100% (496/496), 5.17 MiB | 249 KiB/s, done.
Total 496 (delta 125), reused 216 (delta 8)

-----> Heroku receiving push
-----> Removing .DS_Store files
 !     Heroku push rejected, no Cedar-supported app detected

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

我尝试了本论坛推荐的几种方法,包括清空并重新安装 Gems 以及删除和添加遥控器,但均无济于事。

有什么建议吗?

【问题讨论】:

标签: git


【解决方案1】:

确保您的 Rails 应用程序位于存储库的根目录中,Gemfile 存在且名称正确。它基本上无法将您的代码库检测为受支持的项目类型之一,因此无法检测到它。此外,即使您确实有一个合适的项目,请确保它是存储库的一部分并且您已正确提交它(git status 将在此处为您提供帮助,ls 应帮助您验证项目结构)。

【讨论】:

  • 在我的世界里,我部署 package.json 时多了一个逗号。 (#nodejs, #ember-cli)
  • 我没有将所有更改提交到远程仓库
  • 我删除了 Nodejs 项目上的 *.lock,这对我有用。
【解决方案2】:

如果您运行$ heroku logs,您可能会得到关于问题所在的“提示”。对我来说,Heroku 无法检测到我正在创建什么类型的应用程序。它需要我设置 buildpack。因为我正在创建一个 Node.js 应用程序,所以我只需要运行 $ heroku buildpacks:set https://github.com/heroku/heroku-buildpack-nodejs。您可以在此处阅读更多信息:https://devcenter.heroku.com/articles/buildpacks。之后没有推送问题。

我知道这是一个老问题,但仍然在这里发布,以防其他人被卡住。

【讨论】:

  • 运行 heroku 日志显示了确切的问题。谢谢:)
【解决方案3】:

在 Heroku 中,您可能在推送到主分支时遇到问题。您可以做的是使用

开始一个新分支

git checkout -b tempbranch

然后使用推送

git push heroku 临时分支

【讨论】:

  • 从 master 创建一个新分支并从那里推送后工作正常
  • 在我的例子中,我将 master 合并到一个预先存在的分支中并推送。不知道为什么会起作用,但推送成功了。
【解决方案4】:

您可能还想检查 Heroku 是否告诉您您的 CSS 文件中有错字。

推送后仔细阅读终端中冗长无聊的消息。可能是这样的:Invalid CSS after。这意味着 Heroku 发现了一个错字,您需要在 CSS 文件中修复它。

您可以查找rake aborted!,然后直接说明推送失败的原因。

【讨论】:

    【解决方案5】:

    如果您收到此错误并且终端的描述性不足以帮助您,Heroku 可能会通过他们的网站告诉您问题所在。请尝试以下操作:

    1. 登录 Heroku 并转到您的仪表板;
    2. 从列表中选择问题应用程序;并且,
    3. 检查“活动”选项卡下的构建日志。

    就我而言,我不小心忽略了我的 Gemfile.lock。

    【讨论】:

    • 感谢您修复了我的错误,我的项目中有两个不同的锁文件:package-lock.json 和 yarn.lock,所以我通过 git rm yarn.lock 删除了后者。
    【解决方案6】:

    指定节点的版本 用于在 Heroku 上运行应用程序的 Node.js 版本也应该在 package.json 文件中定义。您应该始终指定与您正在开发和测试的运行时相匹配的 Node.js 版本。查找您的版本类型节点 --version。

    您的 package.json 文件将如下所示:

    “引擎”:{ “节点”:“10.x” },

    它应该可以工作

    【讨论】:

      【解决方案7】:

      我遇到了同样的问题。

      查看您的 git ignore 并检查 .env 是否未被忽略。

      这是我的问题并解决了我的问题。

      【讨论】:

        【解决方案8】:

        包 setuptools/distribute 列在 requirements.txt 中。 请删除相同。

        【讨论】:

          【解决方案9】:

          为了完整起见,问题可能出在 heroku 本身。在极少数情况下,https://status.heroku.com 会显示以下内容:

          更新

          Heroku 仪表板和元素已恢复。我们仍是 正在努力恢复其他受影响的服务。

          仍受影响的服务有:

          • 构建
          • 审核应用
          • 管道
          • Github 部署
          • Heroku CI
          • Heroku 按钮

          在 heroku 报告后大约 40 分钟后,我能够部署:

          所有受影响的服务都已恢复,现在按预期工作。我们将进行监控以确保没有进一步的问题。

          【讨论】:

            【解决方案10】:

            我在概览构建日志中的初始错误是... /app/tmp/buildpacks/b7af5642714be4eddaa5f35e2b4c36176b839b4abcd9bfe57ee71c358d71152b4fd2cf925c5b6e6816adee359c4f0f966b663a7f8649b0729509d510091abc07/bin/support/ruby_compile:15:in' ! Push 被拒绝,无法编译 Ruby 应用程序。 !推送失败`

            通过 2 天的尝试...这有效 heroku buildpacks:set https://github.com/heroku/heroku-buildpack-nodejs

            部分是我的代理和构建包

            【讨论】:

              【解决方案11】:

              以防万一您在尝试推送 django 应用程序时遇到此问题 到heroku,然后你会得到这个错误:

              ! [remote denied] master -> master (pre-receive hook denied) 错误:未能将一些引用推送到https://git.heroku.com/app_name.git

              只需寻找这个:

              运行“$ python manage.py collectstatic --noinput”时出错。 远程:有关详细信息,请参阅上面的回溯。 偏僻的: 远程:您可能需要更新应用程序代码来解决此错误。 远程:或者,您可以为此应用程序禁用 collectstatic: 偏僻的: 远程:$ Heroku config:set DISABLE_COLLECTSTATIC=1

              复制这个: $ Heroku config:set DISABLE_COLLECTSTATIC=1

              并将其粘贴到终端中。按Enter 和 在那次运行之后: $ git push Heroku master

              如果您要推送的是 Django 应用程序,这应该可以解决您的问题。

              【讨论】:

              • 我是 node.js 的新手。您的评论让我想到了寻找我自己的错误(这是不同的)并且我解决了它,否则我认为它与 git 和 refs 有关并且正在在线搜索这样的解决方案。谢谢。
              【解决方案12】:

              我也遇到了同样的问题解决办法是

              删除客户端和服务器端的 package-lock.json 文件

              确保您至少在本地使用 LTS 版本的 Node

              确保您的本地节点版本与 package.json 文件的引擎属性中显示的内容相匹配。

              运行 git add 。 , git commit -m "fixing versions" 和 git push heroku master 命令强制重建。

              【讨论】:

                【解决方案13】:

                在推送之前尝试将您的角色更改为项目的维护者角色...

                这解决了我的问题。

                【讨论】:

                  【解决方案14】:

                  我遇到了同样的错误,在命令行中运行以下代码解决了它:

                  $ heroku config:set BUNDLE_WITHOUT="development:test"
                  

                  【讨论】:

                    【解决方案15】:

                    我在运行 git status 时遇到了同样的错误:

                    $ git status
                    On branch master
                    Your branch is ahead of 'origin/master' by 1 commit.
                      (use "git push" to publish your local commits)
                    nothing to commit, working directory clean
                    

                    要修复它,我可以运行:

                    $ git push and run 
                    $ git push heroku master
                    

                    【讨论】:

                      【解决方案16】:

                      就我而言,我忘记在生产环境中使用 postgres。我将 sqlite3 gem 移到了我的 Gemfile 中的 developmenttest 组中。之后一切正常。

                      【讨论】:

                        【解决方案17】:

                        检查以下

                        1. 确保您添加的所有需要​​跟踪的文件和目录都是使用 git status 添加的 [您已完成此操作]

                          $ git 状态

                        2. 如果未添加,则使用 **git add 添加它们。 ** [你已经这样做了]

                          $ git add .

                        3. 捆绑所有宝石,您将拥有 Gemfile.lock

                          $ 捆绑安装
                          $ git add Gemfile.lock
                          $ git commit -am "添加了 Gemfile.lock"

                        4. 将其推送到 heroku

                        $ git push heroku master

                        你的推送应该有效

                        【讨论】:

                          【解决方案18】:

                          我也遇到了同样的问题。

                          [remote denied] master -> master (pre-receive hook denied) 错误: 未能将一些 refs 推送到“”

                          错误原因:
                          我在开发分支并尝试将push 远程master 分支

                          解决方案:
                          结帐以开发分支(另一个分支)并执行:

                          git push heroku develop 
                          

                          【讨论】:

                            【解决方案19】:

                            我刚刚运行了 heroku logs 命令并检查了 git 状态 然后重试了 git push hreoku master,它成功了

                            【讨论】:

                              【解决方案20】:

                              我的终于在这条路上的某个地方工作了:

                              1. 更新 Git
                              2. 返回\my_first_rail_app\,输入或运行:
                                • 一个。捆绑安装
                                • 乙。捆绑安装--gemfile
                                • c。捆绑更新
                                • d.混帐添加。
                                • e. git commit -m "heroku 部署更新"
                                • f. git pust heroku master(仍然无法处理我的情况)
                                • 克。 heroku buildpacks:set https://github.com/bundler/heroku-buildpack-bundler2

                              【讨论】:

                                【解决方案21】:

                                简单的回答

                                $ heroku config:set DISABLE_COLLECTSTATIC=1
                                
                                

                                之后

                                $ git push heroku master
                                
                                

                                【讨论】:

                                  【解决方案22】:

                                  您可能需要更新 heroku 版本 heroku update。我最近遇到了这个问题,然后我从版本 7.42.2 更新到 7.47.5

                                  我的引擎版本是 "engines": {"node":"14.8.0","npm":"6.14.7"}

                                  【讨论】:

                                    【解决方案23】:

                                    检查和更新requirements.txt 实际上对我有用。我有几个错误的 package 名称。记得在推送之前commit

                                    【讨论】:

                                      【解决方案24】:

                                      在我的情况下,问题是节点模块也被推送(不包含在 .gitignore 中)。我转介了this,我的问题得到了解决。

                                      echo 'node_modules' >> .gitignore
                                      git rm -r --cached node_modules
                                      git commit -am 'ignore node_modules'
                                      

                                      【讨论】:

                                      • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
                                      【解决方案25】:

                                      我有同样的问题。我的文件夹中有两个不同的锁文件,package-lock.json 和 yarn.lock,然后我删除了 yarn.lock 文件,它运行顺利。

                                      【讨论】:

                                      • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
                                      【解决方案26】:

                                      在我自己的情况下,我尝试删除 node_module、package-lock.json 并运行 npm install,但这些都不起作用。发现 Heroku 使用的是较低版本的节点。 将此添加到我的 package.json 中即可解决。

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

                                      【讨论】:

                                        【解决方案27】:

                                        我遇到了同样的错误并查看了活动。我发现我有两个导致错误的包锁定文件。

                                        【讨论】:

                                          猜你喜欢
                                          • 2020-07-19
                                          • 2020-03-12
                                          • 1970-01-01
                                          • 2019-10-16
                                          • 2012-01-03
                                          • 2012-08-25
                                          • 1970-01-01
                                          • 2015-04-03
                                          • 1970-01-01
                                          相关资源
                                          最近更新 更多