远程被拒绝的主人 - >主人(预先接收挂钩拒绝)

时间:2012-03-03 01:48:32

标签: git

我正在使用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以及删除和添加遥控器,但无济于事。

有什么建议吗?

24 个答案:

答案 0 :(得分:23)

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

答案 1 :(得分:15)

如果你运行$ heroku logs,你可能会对问题产生“暗示”。对我来说,Heroku无法检测到我正在创建的应用程序类型。它需要我设置buildpack。自从我创建Node.js应用程序以来,我只需运行$ heroku buildpacks:set https://github.com/heroku/heroku-buildpack-nodejs。您可以在此处详细了解:https://devcenter.heroku.com/articles/buildpacks。之后没有推动问题。

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

答案 2 :(得分:10)

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

开始一个新的分支
  

git checkout -b tempbranch

然后使用

推送
  

git push heroku tempbranch

答案 3 :(得分:7)

您可能还想检查Heroku,告诉您CSS文件中存在拼写错误。

推后,仔细阅读终端中长长的无聊信息。可能有这样的事情:Invalid CSS after。这意味着Heroku发现了拼写错误,您需要在CSS文件中修复它。

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

答案 4 :(得分:2)

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

  1. 登录Heroku并转到您的信息中心;
  2. 从列表中选择问题应用程序;和,
  3. 检查"活动"下的构建日志。标签。
  4. 就我而言,我不小心忽略了我的Gemfile.lock。

答案 5 :(得分:1)

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

答案 6 :(得分:1)

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

  

更新

     

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

     

仍受影响的服务包括:

     
      
  • 构建
  •   
  • 查看应用
  •   
  • 管道
  •   
  • Github部署
  •   
  • Heroku CI
  •   
  • Heroku Buttons
  •   

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

  

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

答案 7 :(得分:1)

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

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

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

确保您的本地Node版本与package.json文件的engines属性中显示的版本匹配。

运行git add。 ,git commit -m“修复版本”和git push heroku master命令强制进行重建。

答案 8 :(得分:1)

我有同样的问题。

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

这是我的问题,已经解决了。

答案 9 :(得分:1)

以防万一您尝试推送Django应用时遇到此问题 到heroku,然后出现此错误:

! [远程拒绝]主机->主机(预接收挂钩被拒绝) 错误:无法将一些引用推送到https://git.heroku.com/app_name.git

简单地寻找这个:

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

复制此: $ Heroku config:set DISABLE_COLLECTSTATIC=1

并将其粘贴到终端中。按Enter,然后按 运行之后: $ git push Heroku master

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

答案 10 :(得分:1)

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

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

“引擎”:{     “ node”:“ 10.x”   }

应该可以

答案 11 :(得分:0)

我面临着同样的问题。

  

[远程拒绝]主机->主机(接收前挂钩被拒绝)错误:   未能将一些引用推送到“”

错误原因:
我在开发分支中,尝试push到远程master分支

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

git push heroku develop 

答案 12 :(得分:0)

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

这为我解决了我的问题。

答案 13 :(得分:0)

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

答案 14 :(得分:0)

您可能需要更新heroku版本// imports import org.neo4j.driver.Driver; import org.neo4j.driver.GraphDatabase; import org.neo4j.driver.Session; import org.neo4j.driver.SessionConfig; // ... other code try (Session session = driver.session(SessionConfig.forDatabase("movies"))) { session.writeTransaction((tx) -> { tx.run("CREATE (n:Movie {name: $name})", Map.of("name", "The Matrix")); return null; }); } 。我最近遇到了这个问题,然后从版本heroku update更新为7.42.2

我的引擎版本是 7.47.5

答案 15 :(得分:0)

简单答案

$ heroku config:set DISABLE_COLLECTSTATIC=1

之后

$ git push heroku master

答案 16 :(得分:0)

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

经过2天的尝试...     heroku buildpacks:set https://github.com/heroku/heroku-buildpack-nodejs

部分是我的代理和buildpack

答案 17 :(得分:0)

我的这条路终于在某处工作了:

  1. 更新Git
  2. 返回\ my_first_rail_app \,键入或运行:
    • a。捆绑安装
    • b。捆绑安装--gemfile
    • c。捆绑更新
    • d。 git add。 e.e。 git commit -m“用于heroku部署的更新”
    • f。 git pust heroku master(仍然无法在我的情况下工作)
    • g。 heroku buildpacks:set https://github.com/bundler/heroku-buildpack-bundler2

答案 18 :(得分:0)

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

答案 19 :(得分:0)

检查以下

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

    $ git status

  2. 如果没有添加,请使用** git add添加它们。 ** [你做到了]
      

    $ git add。

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

    $ bundle install
      $ git add Gemfile.lock
      $ git commit -am"添加了Gemfile.lock"

  4. 将其推送到 heroku
  5.   

    $ git push heroku master

    您的推送应该有效

答案 20 :(得分:0)

在我的情况下,我忘了在生产环境中使用postgres。我将sqlite3 gem移动到development中的testGemfile组中。一切都在那之后发挥作用。

答案 21 :(得分:0)

当我运行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

答案 22 :(得分:0)

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

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

答案 23 :(得分:-1)

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