2011-12-02 317 views
109

我創建一個Rails應用程序使用Rails 3.1.3:Heroku的推拒絕,沒有雪松支持的應用程序檢測

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 [email protected]:electric-dusk-3217.git 
! [remote rejected] master -> master (pre-receive hook declined) 
error: failed to push some refs to <my heroku rep> 
+0

您是否嘗試過運行'heroku create [appname]'? – whirlwin

+0

我在雪松堆疊上創建了應用程序:heroku create --stack cedar – WHITECOLOR

+5

這個錯誤實際上是什麼意思? – Himmators

回答

48

的問題是,我的 「的Gemfile」被命名爲「gemfile」

+0

@Whitecolor如果您的解決方案完全相同,並且您的解決方案正常運行!之後遇到其他複雜的問題。但是,謝謝。 – Tony

+1

這不僅對我而言,而且是以一種不明顯的方式。在OSX中工作時,即使使用名爲'Gemfile'的文件,如果我使用'vi gemfile',它將打開我的'Gemfile',然後在保存時將它重命名爲'gemfile'! –

+0

我想這是設置區分大小寫字符的分區的一個很好的理由... –

45

我遇到了這個錯誤消息,但我的問題是我的rails應用程序不在我的git倉庫的根目錄中。將文件移動到根目錄後,一切正常。

+3

這似乎是一個糟糕的解決方案。有沒有適當的方式來推動應用程序,而它的子目錄? – y0mbo

+1

我正在使用[git-subtree](https://github.com/apenwarr/git-subtree)。我有麻煩安裝,所以我用[這個幫助](http://stackoverflow.com/questions/11603510/how-do-i-correctly-install-the-tools-in-gits-contrib-directory) –

+0

我有同樣的問題 - 我剛從heroku入手RoR並遇到了這個問題。感謝您的修復。 –

3

我有同樣的問題。 「Gemfile」包含在「.gitignore」中,因此不屬於部署。 Heroku需要Gemfile for Rails項目。

155

我有一個類似的問題,但與Django(錯誤地命名爲「requirements.txt」)。我想在這裏概括其他的答案,當你得到這個錯誤時,這是​​因爲Heroku缺少一些用於識別你的應用(及其類型)的關鍵文件。

  • PHP:index.php文件
  • 蟒蛇:requirements.txt
  • 紅寶石:Gemfile中#注意大小寫
  • 節點:的package.json
+6

在這裏找到了這個問題的另一個答案(重新初始化git倉庫):http://stackoverflow.com/questions/9305370/rails-3-2-heroku-push-rejected-no-cedar-supported-app-detected – Chris

+0

友好提醒:如果運行web應用程序,還需要一個Procfile,確保通過Procfile啓用了web服務,並指向正確的腳本。另外,請確保在Heroku管理中爲web應用程序啓用了Web dyno。 '''remote:----->發現進程類型... procfile聲明類型 - > web'''是通過我的Procfile –

+0

謝謝,添加requirements.txt幫助了我!請注意,你應該提交它(將其添加到git倉庫),然後嘗試再次推送。 – ItayB

7

這個錯誤的另一個原因對於Rails應用程序:當我們沒有從我們的Gemfile.lock文件中刪除git合併衝突時,發生了這種部署錯誤。

3

我解決了這個問題,對我的Gemfile進行了一些修改,然後重新發布。由於某種原因,它不包含在我上次提交中。

26

Heroku通過查找特定的項目文件來檢測支持的應用程序。要找到您的語言的要求,start here

22

未與新的應用程序相關聯的,但是...我安裝在Heroku上的自定義BUILDPACK,然後忘掉它後,就遇到了這個相同的錯誤消息。下一次我去部署到Heroku上我看到:

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

!  Push rejected, no Cedar-supported app detected 

此修復程序是檢查:

heroku config 

,還有,我發現了一個無功叫做BUILDPACK_URL,我曾與取消設置:

heroku config:unset BUILDPACK_URL 

...和瞧!

+0

哇,這是一個艱難的。謝謝! – MoMolog

+0

很酷這是爲我工作謝謝。 – KannanHudson

3


我在這裏遇到了同樣的問題。
我的支票如下:
1.確保「領班開始」在當地效果良好。
2.確保您的heroku帳戶只有一個新應用程序創建。
希望它有幫助。

2

我也有基於django的應用程序的問題。一切似乎都沒問題:文件名和其他設置。

問題是,在Heroku控制檯有一個BUILDPACK_URL設置定義爲node.js - 因此Django應用程序被拒絕。

3

我正在按照RailsTutorial.org的步驟出現此錯誤。這篇文章的答案沒有任何工作。然後我看到this comment,導致this answer這是唯一的工作對我來說,以便可以解決其他人的問題與教程以及。

+0

我認爲原因是我啓動了RAIL_PROJECT目錄的父目錄的回購。所以讓雪松無法識別該應用的類型。感謝您的回答! – Robert

12

另一個原因:我在推動主人,同時在非主分支上工作。我的主分支沒有requirements.txt。

我不想從主人推,但heroku只關注主分支。解決的辦法是我的本地分支推送到Heroku的主分支:

git push heroku local_branch:master 
+2

你是我的英雄!我花了數小時試圖找到這個>< – Laurent

+0

同樣,這是一個非常混亂的錯誤。 –

相關問題