2013-03-13 72 views
9

大腦垃圾,因爲我的谷歌是用谷歌搜索和砰的一聲在計算機上砰擊。任何幫助或線索將非常感謝!Ruby 2.0/Rails 4.0.0beta升級失敗,推送到heroku

我通過rvm管理我的寶石。

$ ruby -v 
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin12.2.0] 

$ rails -v 
Rails 4.0.0.beta1 

然後,當我想從頭開始

$ rails new brand_new_app 
create 
    create README.rdoc 
    ... 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. 

$ cd brand_new_app 

創建一個全新的應用程序,然後我初始化一個混帳回購協議,加上我剛剛創建的應用程序。然後我創建一個heroku實例

brand_new_app $ heroku create 
    Git remote heroku added 

然後我嘗試部署到heroku,但它在主動支持gem上失敗。

brand_new_app $ git push heroku master 
    Counting objects: 62, done. 
    Delta compression using up to 4 threads. 
    Compressing objects: 100% (50/50), done. 
    Writing objects: 100% (62/62), 20.54 KiB, done. 
    Total 62 (delta 2), reused 0 (delta 0) 

    -----> Ruby/Rails app detected 
    -----> Installing dependencies using Bundler version 1.3.2 
    Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment 
    Fetching gem metadata from https://rubygems.org/......... 
    Fetching gem metadata from https://rubygems.org/.. 
    Installing rake (10.0.3) 
    Installing i18n (0.6.4) 
    Installing minitest (4.6.2) 
    Installing multi_json (1.6.1) 
    Installing atomic (1.0.1) 
    Installing thread_safe (0.1.0) 
    Installing tzinfo (0.3.37) 
    Installing activesupport (4.0.0.beta1) 
    Gem::InstallError: activesupport requires Ruby version >= 1.9.3. 
    An error occurred while installing activesupport (4.0.0.beta1), and Bundler 
    cannot continue. 
    Make sure that `gem install activesupport -v '4.0.0.beta1'` succeeds before 
    bundling. 
    ! 
    !  Failed to install gems via Bundler. 
    ! 
    !  Heroku push rejected, failed to compile Ruby/rails app 

我有內爆rvm(idk爲什麼,主要是我很沮喪),我已經檢查了每個可能的地方。我創建了Rails應用程序,沒有任何特殊的設置,這只是一個正常的安裝。如果任何人有任何暗示可能導致我走向正確的方向,請將它們發送給我!我很感激你讀這麼遠!

+0

你確定你在正確的堆棧上執行嗎?你必須使用雪松。我不確定現在heroku工具中的默認值是那個堆棧還是舊的。 – 2013-03-13 01:41:12

+1

你的Gemfile是什麼樣的?它裏面有一條「紅寶石」線嗎? – Ari 2013-03-13 02:03:10

+0

@Srdjan我做了雙重檢查,它使用雪松,因爲這是目前的默認設置。非常感謝您花時間看這個! – 2013-03-13 03:21:40

回答

18

您應該在您的Gemfile中放置一個ruby行,正如heroku文檔中所解釋的那樣。

只需在您的Gemfile中添加ruby "2.0.0"之下的source "https://rubygems.org"即可。

https://blog.heroku.com/archives/2012/11/5/ruby-2-preview-on-heroku

我已經試過這個,還有這個工程的Heroku。顯然,Rails 4與不同的ruby版本不兼容。這有點奇怪,因爲他們在這裏說:

Ruby 2.0是Rails 4.0中首選的Ruby。

http://weblog.rubyonrails.org/2013/2/25/Rails-4-0-beta1/

顯然優選的,裝置需要。

希望這可以幫助

+1

關於此的更多信息:https://devcenter.heroku.com/articles/ruby-versions – Ari 2013-03-13 12:32:07

+0

感謝您的信息Arjan和Ari,我現在就來看看 – 2013-03-13 14:19:40

+5

不要忘記你必須' git提交您對heroku的更改以確認他們。我花了很長時間才弄明白這一點。現在我會花很長時間感覺到愚蠢。 – Andrew 2013-05-24 18:42:04