Heroku推送被拒绝,未检测到Cedar支持的应用


110

我正在使用Rails 3.1.3创建一个Rails应用程序:

git init
git remote add heroku <my heroku repo>
git add .
git commit -a -m "First commit"
git push heroku master

得到:

Counting objects: 102, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (86/86), done.
Writing objects: 100% (102/102), 315.47 KiB, done.
Total 102 (delta 3), reused 0 (delta 0)

**-----> Heroku receiving push
 !     Heroku push rejected, no Cedar-supported app detected**

To git@heroku.com:electric-dusk-3217.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to <my heroku rep>

你试过跑步heroku create [appname]吗?
whirlwin

我已经在雪松堆栈上创建了应用程序:heroku create --stack cedar
WHITECOLOR 2011年

5
此错误实际上是什么意思?
Himmators 2012年

Answers:


155

我有一个类似的问题,但使用Django(错误地命名为“ requirements.txt”)。我想在这里归纳其他答案,因为出现此错误是因为Heroku缺少一些用于标识您的应用程序(及其类型)的密钥文件。

  • 的PHP:index.php
  • 的Python:requirements.txt
  • 红宝石:Gemfile #注意大小写
  • 节点:package.json

6
在这里找到了这个问题的另一个答案(重新初始化git repo):stackoverflow.com/questions/9305370/…–
克里斯

友善的提醒:还有一个Procfile,如果正在运行Web应用程序,请确保已通过Procfile启用了指向正确脚本的Web服务。另外,请确保在Heroku管理员中为应用打开了Web dyno。remote: ----->Discovering process types...Procfile declares types -> web通过我的Procfile
Marc

谢谢,添加requirements.txt对我有帮助!请注意,您应该提交它(将它添加到git repo中),然后尝试再次推送
。。– ItayB

48

问题是我的“ Gemfile”被命名为“ gemfile”


@Whitecolor遇到了完全相同的问题,您的解决方案成功了!然后遇到其他复杂的问题之后。但是谢谢你。
2012年

1
这不仅发生在我身上,而且以一种非显而易见的方式发生。在OSX中工作,即使有一个名为的文件Gemfile,如果执行vi gemfile,它也会打开我的Gemfile,然后在保存时将其重命名为,gemfile而不会发出警告!
B

我想这是建立一个区分大写和小写字符的分区的好理由……
B 2012年7

2
什么是“ Gemfile”?我有一个html游戏,我想在heroku中推送它。和我得到同样的错误
Alaeddine 2014年

45

我遇到了此错误消息,但是我的问题是我的rails应用程序不在git repo的根目录中。将文件移到根目录后,一切正常。


3
这似乎是一个糟糕的解决方案。在子目录中推送应用程序时,是否有适当的方法?
y0mbo 2012年

1
我正在使用git-subtree。我在安装时遇到了麻烦,所以我使用了此帮助
Rian Rainey

我遇到了同样的问题-我只是从Heroku的RoR入门开始,遇到了这个问题。感谢您的修复。
Mahendra Liya

我不停地检查命令行,这是“正确的”,但后来我发现我是在/ home / MYAPP / MYAPP ... ... DOH
威尔

我的情况也一样。我git init我的应用程序文件夹git的根目录,然后推到Heroku的经历。谢谢。
索菲亚·冯


22

没有与新的应用程序关联,但是...在heroku上安装了自定义BUILDPACK之后,我却遇到了同样的错误消息,然后却忘记了。下次我去部署到heroku时,我看到了:

-----> Fetching custom git buildpack... done

 !     Push rejected, no Cedar-supported app detected

解决方法是检查:

 heroku config

并且,在那里,我找到了一个BUILDPACK_URL必须取消设置的Var :

heroku config:unset BUILDPACK_URL

……瞧!


哇,真是艰难。谢谢!
亚历山大·普雷斯伯2014年

12

另一个原因:我在非master分支上工作时正在推master。我的主分支没有requirements.txt。

我不想从master推送,但是heroku只关注master分支。解决方案是将我的本地分支推送到heroku的master分支:

git push heroku local_branch:master

2
你是我的英雄 !我花了几个小时试图找到这个> <
Laurent

7

Rails应用程序出现此错误的另一个原因:当我们没有从Gemfile.lock文件中删除git merge冲突时,发生了部署错误。



3

我通过对Gemfile进行表面更改并重新提交来解决此问题。由于某种原因,它没有包含在我的上次提交中。


3


我在这里遇到了同样的问题。
我的检查如下:
1.确保“先行开始”在本地运作良好。
2.确保在您的heroku帐户上仅创建一个新应用。
希望对您有所帮助。


3

我正在遵循RailsTutorial.org的步骤,但出现了此错误。这篇文章的答案均无效。然后,我看到了导致此答案的评论对我来说是唯一有效的方法,因此也可以解决本教程中其他人的问题。


我认为原因是我在RAIL_PROJECT目录的父目录上初始化了仓库。因此,让Cedar无法识别应用程序的类型。感谢您的回答!
罗伯特


2

我也有基于django的应用程序的问题。似乎一切正常:文件名和其他设置。

问题是在heroku控制台中有一个BUILDPACK_URL为定义的设置node.js-因此django应用程序被拒绝。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.