git,Heroku:预先接收挂钩拒绝

时间:2011-11-21 18:25:12

标签: ruby git heroku rack

我正在设置git存储库并尝试将其链接到Heroku。当我运行命令

git push heroku master

我收到了

Counting objects: 7, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (7/7), 714 bytes, done.
Total 7 (delta 1), reused 0 (delta 0)

-----> Heroku receiving push

 !     Heroku push rejected due to an unrecognized error.
 !     We've been notified, see http://support.heroku.com if the problem persists.


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

我不太确定其他什么信息会有什么帮助,什么会使水变得混乱,所以我现在就把它留在这里。任何将我的应用程序推送到Heroku的帮助将不胜感激。感谢。

19 个答案:

答案 0 :(得分:12)

确保您正在推送包含适当支持的应用程序(Rails,Django等)的回购,而您不仅仅是推送一些随机回购来测试它。

Newbie in Heroku: Error when push my app to Heroku

如果情况并非如此,并且您正在推动您认为有效的应用程序,请联系Heroku支持人员,他们将为您解决此问题。

答案 1 :(得分:3)

我遇到了同样的问题:

! [remote rejected] vX.X.XX -> master (pre-receive hook declined) 
error: failed to push some refs to 'git@heroku.com:[application-name]'

我意识到我的heroku应用程序堆栈是'cedar-10',从2014年11月4日起被弃用,并于2015年11月4日(Cedar-14 is now Generally Available)被禁用。

解决方案是按照指南升级heroku应用程序堆栈:

Upgrading the production app to Cedar-14

答案 2 :(得分:2)

另一个问题可能是在生产环境中,当您创建rails应用程序时,您无法使用sqlite3 (默认数据库)。

为了解决这个问题,只需将rails app使用的数据库更改为Postgres即可。这可以通过编辑您的Gemfile

轻松完成

从Gemfile中删除:

gem sqlite3;

并添加以下内容:

group :development, :test do
  gem 'sqlite3'
end

group :production do
  gem 'pg'
end

答案 3 :(得分:1)

我有同样的问题但是使用Django应用程序,结果发现pip无法下载/安装requirements.txt文件的一个依赖项(它是eyeD3)

答案 4 :(得分:1)

确保您使用的是npm或yarn.lock文件-

找到两个不同的锁文件:package-lock.json和yarn.lock        npm和yarn都为此应用程序创建了锁定文件,        但是只能使用一个来安装依赖项。

在删除yarn.lock并将代码再次推送到git之后,我的问题解决了。

答案 5 :(得分:0)

检查您的配置变量(在 heroku 中)可能是个好主意。

当我为我的应用程序创建管道并想要推送到新创建的临时应用程序时,我收到了相同的错误消息。它不起作用,因为我之前设置的配置变量没有转移到新的登台应用程序(显然)。在我再次添加变量后,推送到 heroku git 再次完美无缺。

答案 6 :(得分:0)

如果将来需要任何人,即使我是初学者并且对 Heroku 不太了解,您可能已经在 runtime.txt 文件中请求了堆栈不支持的版本。

python-3.8.2 to python-3.8.10

从 python-3.8.2 更改为 python-3.8.10 帮助我解决了它。您可以在此处查看支持的堆栈:https://devcenter.heroku.com/articles/python-support

答案 7 :(得分:0)

这个问题让我想解决这个问题。我在这里采用了不同的建议,但它对我不起作用。我决定逐行阅读日志。

以下是部分错误日志:

remote:        > gbt-ltd-website-frontend@0.1.0 build /tmp/build_c37edf59
remote:        > react-scripts build
remote:        
remote:        Creating an optimized production build...
remote:        Failed to compile.
remote:        
remote:        Cannot read property 'toLowerCase' of undefined
remote:        CompileError: Begins at CSS selector .Styles_hone__1Uuf2
remote:        
remote:        
remote: npm ERR! code ELIFECYCLE
remote: npm ERR! errno 1
remote: npm ERR! gbt-ltd-website-frontend@0.1.0 build: `react-scripts build`
remote: npm ERR! Exit status 1
...
remote: !       Push rejected to gbtstructurals.
remote: 
To https://git.heroku.com/gbtstructurals.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/gbtstructurals.git'

从错误开始的地方开始,“npm ERR!code ELIFECYCLE”我阅读并找到了错误的实际原因。这是一个 CSS 规则。我首先删除了规则并构建了它。然后我检查了我的声明,发现我自相矛盾。

我希望这对某人有所帮助。谢谢大家。

答案 8 :(得分:0)

删除package-lock.json为我解决了

答案 9 :(得分:0)

在我的情况下,我有一个名为“ build”的npm脚本,其as值为npm run build --prefix client

Heroku自动执行npm run build命令,但无法构建我的React应用程序。可能是因为Heroku没有安装react-scripts模块。

因此我将命令重命名为build-client,现在可以将更改推送到Heroku。

答案 10 :(得分:0)

在部署节点应用程序时遇到了相同的错误,但是通过这两个步骤解决了问题,并认为如果有其他人遇到相同的问题,我会分享。

  1. 请确保您没有提交node_modules,因为heroku会在push上从package.json安装依赖项。尝试在您的node_modules/中添加.gitignore,以确保您不会意外提交
  2. Heroku使用Node v12,它将无法使用node-sass 4.10.0进行构建。尝试通过添加以下内容来增加node-sass版本。这使它能够为我成功构建:
  "devDependencies": {
    "node-sass": "^4.12.0"
  }

答案 11 :(得分:0)

这可能无法帮助所有人,但它解决了我的问题-我的问题是我忘记在推送之前捆绑安装。

希望这会有所帮助

答案 12 :(得分:0)

我看到你已经有了答案。让我分享一下我的问题和解决方案,以防其他人犯同样的错误。

我遇到了这个问题,(与Heroku相同的错误)

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

错误 我对代码进行了一些更改并删除了一些参数,显然我错过了一行中的简单逗号(,)。这导致生成错误。按下后在控制台中看不到该错误,只有“接收前挂钩被拒绝”错误。

解决方案 我修复了逗号问题,对其进行了重建并推送到了Heroku,现在它可以了。我想在这里分享,所以如果其他人犯了这个错误,他们也可以尝试此操作,而不必等待Heroku答复。

我希望这对某人有帮助。

答案 13 :(得分:0)

尝试将Node / php或任何引擎更新到最新版本,然后再次部署,它将肯定可以正常工作。

答案 14 :(得分:0)

对我来说,这是java应用程序中未使用的导入,删除了未使用的导入,一切都很好。

答案 15 :(得分:0)

我有一个sinatra应用程序。 (Heroku确实支持Sinatra)。

heroku博客帖子上的说明不完整

https://blog.heroku.com/32_deploy_merb_sinatra_or_any_rack_app_to_heroku

我的程序在本地运行正常,但在尝试推送到heroku时遇到了错误。

heroku blogpost不包括制作gemfile和捆绑安装的需要。该程序在本地运行正常,但要使它在heroku上运行,它需要一个Gemfile并在其上进行捆绑安装。

此链接https://teamtreehouse.com/community/how-can-i-make-my-sinatra-app-public提到我需要一个Gemfile,并提到了Gemfile的内容。然后做捆绑安装。然后,一旦完成,然后按照heroku博客文章中的说明,制作程序文件,config.ru和git repo并进行heroku创建(也创建远程),然后git push heroku master。 / p>

树屋链接中提到的Gemfile

# define our source to look for gems
source "http://rubygems.org/"

# declare the sinatra dependency
gem "sinatra" 

捆绑安装以安装Gemfile。

bundle install

hello.rb(如heroku blogpost所述)

require 'rubygems'
require 'sinatra'

get '/' do
  "Hello from Sinatra on Heroku!"
end

config.ru

require './hello'
run Sinatra::Application

GIT中

$ git init
Initialized empty Git repository in /Users/adam/hello/.git/
$ git add .
$ git commit -m "sinatra and heroku, two great tastes"
[master (root-commit)]: created 93a9e6d: "sinatra and heroku, two great tastes"
 2 files changed, 9 insertions(+), 0 deletions(-)
 create mode 100644 config.ru
 create mode 100644 hello.rb

heroku create

$ heroku create
Created http://severe-spring-77.heroku.com/ | git@heroku.com:severe-spring-77.git
Git remote heroku added

推送到heroku

$ git push heroku master
Counting objects: 4, done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 385 bytes, done.
Total 4 (delta 0), reused 0 (delta 0)

-----> Heroku receiving push
-----> Verifying repository integrity... done, looks like a Rack app.
       Compiled slug size is 0.1MB
-----> Launching....... done
       App deployed to Heroku

To git@heroku.com:severe-spring-77.git
 * [new branch]      master -> master

答案 16 :(得分:0)

我想,这不会是由于任何应用或代码更改而发生的错误。 我现在遇到同样的问题,原因如下:

  • 1)我在bitbucket / git上有代码我将代码推送到存储库(这个 repo与heroku应用程序链接,意味着对此进行更改 反映在heroku上)
  • 2)在将代码推送到repo之后,我正在尝试在heroku上推送代码 与“git push heroku master”但由于某种原因我放弃了这个 命令,这就是为什么代码没有被推送到heroku

  • 3)然后我是agian triyng将代码推送到heroku它说同样的错误
    如上所述

  • 4)对此的解决方案是“只是拉你最后提交的代码” 并将更改推送到heroku ..感谢

答案 17 :(得分:0)

如果有人犯了同样的愚蠢错误,我做了......

如果您的css中有错误,也会显示此错误。

在我的一个媒体查询中,我把

@media screen adn (min-width: 1000px) {

而不是"和"这给了我这个错误。

如果您收到包含消息的错误

,则可能出现这种情况的良好指标
"Tasks: TOP => assets:precompile ... Precompiling assets failed" 

这是我查看我的CSS的第一个线索。

希望这有助于某人!

答案 18 :(得分:-1)

需要在根目录中提及语言

我是如何解决的

我的 python 烧瓶没有提到requirements.text

Heroku 检测

Using buildpack: heroku/python
remote: -----> Python app detected


enter image description here