2012-02-16 69 views
24

Rails新手在這裏。我試圖將我的Rails 3.1/Ruby 1.9.3-p0應用程序部署到Heroku,並按照Heroku的步驟執行了所有步驟。但我一直運行到:Rails 3.2:Heroku推送被拒絕,沒有檢測到Cedar支持的應用程序

Heroku的推拒絕,沒有雪松支持的應用程序檢測

我已經嘗試了所有的建議,但this question至今未果。

+0

我意識到我運行紅寶石1.9.3-p0和遵循http://railsapps.github.com/rails步驟-heroku-tutorial.html但目前還沒有幫助。難道它是Heroku和他們對1.9.3的實驗性支持嗎? – ralphos 2012-02-16 04:38:10

+0

不,我在heroku上運行1.9.3應用程序就好了。你是如何在heroku上創建你的應用程序的?你有嗎:'heroku應用程序:創建myapp - 堆雪松'? – 2012-02-16 04:47:28

+0

是我跑'Heroku上創建的myapp --stack cedar' – ralphos 2012-02-16 04:50:38

回答

5

嘗試

$ git init 
$ git add . 
$ git commit -m "Change to something" 

然後運行

git push heroku master 
+1

試過了,並且通過將repo克隆到一個新的目錄中,但仍然沒有成功。 – ralphos 2012-02-16 04:36:59

+0

當你重新初始化github的文件。您的文件是否已添加到github並準備推送? – coletrain 2012-02-16 04:44:58

74

我也遇到過類似的拒絕。對我來說有效的是重新初始化.git文件。

嘗試在命令行:

rm -rf .git 
git init 
git add . 
git commit -am "Reinitialize" 
heroku create --stack cedar 
git push heroku master 
+1

這對我有用,謝謝! – tobe 2014-03-11 12:49:49

+2

一個字:MAGIC! – 2014-05-17 04:34:12

+0

超棒的男人!你救了我的一天 – 2014-11-25 10:19:36

8

我剛纔已經解決了這個問題,我的應用程序之一。如果您檢查documentation,Cedar Stack會在根目錄中搜索Gemfile。在我的情況下,根目錄只有包含我的應用程序的文件夾和其中的Gemfile。

所以,你需要做的是初始化這個文件夾內一個新的git的回購和添加遠程:

$ cd my_app_folder 
$ git init 
$ git add . 
$ git commit -m "Heroku commit" 
$ git remote add heroku [email protected]:my-app-in-heroku.git 
$ git push heroku master 

大功告成!

+0

這工作完美。謝謝! – Newb 2014-11-10 03:01:46

7

每當我遇到這個錯誤,我檢查以下兩件事情:

  • 確保Gemfile中在Rails應用程序根目錄存在。 Heroku使用它來確定要部署哪種類型的應用程序。
  • 確保Rails應用程序根目錄本身被置於版本控制(例如:Git)而不是其父目錄下。

如果您不小心將您的rails應用程序的父目錄放入版本控制中。刪除此父目錄中的.git目錄,並初始化一個新的存儲庫,但是這次是在Rails應用程序目錄下。

3

我之前幾次遇到過這個問題,那是因爲我試圖將一個遠程分支推送到heroku。

爲了解決這個問題,而不是使用:

git push heroku master 

我使用:

git push heroku my-branch:master 

這推動所述遠程分支my-branch在git倉庫到的Heroku的master分支。

+0

工作完美! – Nicholas 2017-03-18 21:06:06

0

我有同樣的問題。我的文件結構不是heroku預期的(.git必須與Gemfile在同一級別)。我刪除了Rails_Code文件夾,它工作。

Project\ 
     .git 
     Rails_Code\ 
        Gemfile 
        etc... 
0

相同的情況下,像上面@petwho

說:「確保在Gemfile中的Rails應用程序的根目錄中。Heroku的使用它來確定要部署什麼類型的應用程序。」

在我的情況,不知我的GemfilesGemfile.lock是被忽略。當我檢查github時,沒有Gemfile被推到我的應用程序到期,因爲.gitignore忽略了我的gemfiles。

從gitignore刪除我的gemfiles後,我被推到Heroku的一切工作順利

相關問題