2010-05-26 14 views
12

Ich habe ein White Macbook und ich muss in 10 Stunden zu einer Konferenz gehen, aber ich habe viele Probleme.Wie kann ich Ruby on Rails 3 unter OSX installieren?

Zuerst wollte ich Rails 3 haben, also habe ich MacPorts verwendet, um Ruby 1.8.7 zu installieren. Es hat gut funktioniert;) Dann dachte ich, ich sollte Rails 3 installieren, aber nein, nein! Dort heißt es:

$ sudo gem install rails --pre 

ERROR: Error installing rails: 


      activesupport requires Ruby version >= 1.8.7. 

Was soll ich tun? Ich habe bereits 1.8.7!

+0

Dang. Das ist ein großes Ruby/Rails 3-Problem. – Matchu

+0

Wenn du weitere Fragen zu RVM hast, gibt es Leute, die rund um die Uhr im #rvm-Kanal auf freenode helfen: http://webchat.freenode.net/?channels=rvm. –

+1

@DJTripleThreat weiße Laptops werden weniger heiß, so dass Software schneller läuft. Man weiß nie, ob das mit Überhitzungsproblemen zu tun hat. :) –

Antwort

1

Sie können zwei verschiedene Versionen von Ruby installiert haben. Probieren Sie "Gem env" oder "sudo gem env" aus und sehen Sie, welche Version von Ruby Sie haben.

Entfernen Sie das ältere, wenn Sie zwei installiert haben. Wenn alles andere fehlschlägt, upgrade auf 1.9.x, ich glaube, es ist sowieso für Rails 3 empfohlen.

+0

Es sagt 1.8.6 .. Wie werde ich das los? –

+0

Ich besitze keinen Mac, daher bin ich mir nicht 100% ig sicher, aber wenn du in das Verzeichnis gehst, in dem du es installiert hast, sollte es ein Deinstallationsprogramm geben, das du ausführen kannst. –

+3

Er sollte 1.8.6 nicht deinstallieren - was ein Teil von Apples eingebautem System ist und von dem einige Software erwarten kann, dass sie da ist. Er kann die verschiedenen Rubine mit einer vernünftigen und einfachen Verwendung seiner Variablen $ PATH verwalten. – Telemachus

1

Ich würde dringend empfehlen, RVM (Ruby Version Manager) zu verwenden, um Ihre Rails 3 von Ihren Rails 2 getrennt zu halten. (Ein Beispiel für Rails 2, das mit Rails 3 in Konflikt steht: Wenn Sie in der Befehlszeile eine Rails-App generieren, erzeugt es eine Rails 2 App oder eine Rails 3 App? RVM erlaubt es, sie getrennt zu halten.)

Auch das neueste Ruby 1.8.7 wird wahrscheinlich nicht mit Rails 3 funktionieren, also müssen Sie einen früheren Patchlevel verwenden (248 arbeitet für mich). Details sind hier: http://techiferous.com/2010/02/installing-rails-3-beta-with-rvm-and-ruby-1-8-7/

33

Zuerst müssen Sie RVM, dann die neueste Version von Ruby installieren. Als nächstes werden Sie diese Version von Ruby als Standard festlegen. Schließlich installieren Sie Rails b3.

installieren RVM (http://rvm.beginrescueend.com/rvm/install/):

bash < <(curl http://rvm.beginrescueend.com/releases/rvm-install-head) 

Installieren Sie die neueste Rubin (http://rvm.beginrescueend.com/rubies/installing/):

rvm install ruby-head 

Sie können überprüfen, welche Versionen Sie jetzt mit installiert haben:

rvm list 

Setze die neueste Version von Ruby als Standard (ersetze 'ruby-1.9.2-head 'Mit der gewünschten Version):

rvm ruby-1.9.2-head --default 

Stellen Sie sicher, die Dinge bis zum Tag, dann installieren Sie die Rails beta:

gem update --system 
gem install rails --pre 

Sie haben einige Juwel Abhängigkeiten zu installieren, bevor Rails installieren.

+2

+1 Arbeitete perfekt für mich. – Owen

+0

Danke für die Post. –

1

Sie sollten rvm verwenden, wie andere gesagt haben, um mehrere Installationen von Ruby und Ruby Gems zu verwalten. (Wenn Sie diesen Weg gehen, nehmen Sie sich die Zeit, rvm's documentation sorgfältig zu lesen.)

Allerdings sollten Sie auch bequem herausfinden, welche Version von Ruby Ihre Shell als Standard sieht und warum. Es klingt für mich wie Ihre $PATH Variable möglicherweise nicht ordnungsgemäß aktualisiert wird. Die $PATH Variable ist das, was bestimmt, welche Ruby-Interpreter oder gem Befehl ist der erste gesehen, wenn Sie mehr als eine installiert haben (wie Sie jetzt tun).MacPorts wird neue Binärdateien standardmäßig in /opt/local/bin installieren, und es sollte auch Ihre $PATH ändern, so dass /opt/local/bin/usr/bin vorangestellt ist (wo Apples out of the box Ruby lebt).

Ich vermute, dass, wenn Sie sudo gem install tat, sie /usr/bin/gem wurden mit (das ist der Edelstein-Installer für /usr/bin/ruby ist eher als /opt/local/bin/gem (die das Installationsprogramm für MacPort Ruby wäre).

die Ausgabe von echo $PATH prüfen, which ruby und which gem, um zu sehen, was los ist.

0

Aufgrund Ihrer Frage und Ihrer Antworten auf einige der Antworten klingt es so, als würden Sie nicht die MacPorts-Version von Ruby verwenden. Sie sollten sicherstellen, dass /opt/local/bin in der Front Ihres $PATH, vor /usr/bin ist. Außerdem sollten Sie RubyGems über MacPorts (sudo port install rb-rubygems) installieren und sicherstellen, dass Sie die MacPorts gem verwenden. Installieren Sie dann Rails mit den MacPorts gem.

0

Sie sollten in der Tat verwenden rvm, aber da niemand Ihnen erklärt, wie diese ohne rvm zu tun, hier geht:

sudo gem install tzinfo builder memcache-client rack rack-test rack-mount \ 
    abstract erubis activesupport mime-types mail text-hyphen text-format \ 
    thor i18n rake bundler arel railties rails --prerelease --force 
+0

Rails 3 ist nicht mehr Vorabversion – xaxxon