2013-03-13 16 views
9

Brain Dump, weil meine gebraten wird mit Googeln und knallt meinen Kopf auf dem Computer. Jede Hilfe oder Hinweise würden sehr geschätzt werden!Ruby 2.0/Rails 4.0.0beta Upgrade schlägt auf Push zu Heroku

Ich verwalte meine Edelsteine ​​über Rvm.

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

$ rails -v 
Rails 4.0.0.beta1 

Dann, wenn ich will eine brandneue App von Grund auf neu I

$ 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 

Dann ein Git-Repo initialisieren erstellen, fügen Sie die app, die ich gerade erstellt haben. Ich erstelle dann eine Heroku-Instanz

Dann versuche ich und Heroku bereitstellen, aber es schlägt auf der aktiven Unterstützung Juwel.

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 

Ich habe implodiert rvm (IDK, warum, vor allem bc Ich war frustriert) und ich kann jeden Ort überprüft haben. Ich habe die Rails App ohne spezielle Einstellungen erstellt, es ist nur eine normale Installation. Wenn jemand irgendwelche Hinweise hat, die mich in die richtige Richtung führen könnten, bitte sende sie mir! Ich schätze es, dass Sie so weit gelesen haben!

+0

Sind Sie sicher, dass Sie auf dem richtigen Stapel ausführen? Sie müssen Zedernholz verwenden. Ich bin mir nicht sicher, ob der Standard im Heroku-Tool jetzt der Stapel oder der ältere Bambus ist. –

+1

Wie sieht dein Gemfile aus? Ist da eine Rubin-Linie? – Ari

+0

@Srdjan Ich habe es überprüft und es ist mit Zedernholz, wie das ist derzeit der Standard. Vielen Dank, dass Sie sich die Zeit genommen haben, sich das anzusehen! –

Antwort

18

Sie sollten eine Rubinzeile in Ihre Gemfile einfügen, wie in der Dokumentation zu Heroku erklärt.

Fügen Sie einfach die Zeile ruby "2.0.0" unter source "https://rubygems.org" in Ihrem Gemfile hinzu.

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

Ich habe dies versucht, und das funktioniert für Heroku. Anscheinend ist Rails 4 nicht mit verschiedenen Ruby-Versionen kompatibel. Das ist irgendwie seltsam, da sie hier folgendes sagen:

Ruby 2.0 ist der bevorzugte Ruby mit Rails 4.0 zu verwenden.

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

Offensichtlich bevorzugt bedeutet erforderlich.

Hoffe, das hilft

+1

Weitere Informationen hierzu: https://devcenter.heroku.com/articles/ruby-versions – Ari

+0

Vielen Dank für die Info Arjan und Ari, und ich werde das gerade ansehen –

+5

Vergessen Sie nicht, Sie müssen ' Gib deine Änderungen für Heroku, um sie zu bestätigen. Ich habe gerade eine lange Zeit damit verbracht, das herauszufinden. Jetzt werde ich mich wirklich lange dumm fühlen. – Andrew