2010-12-16 5 views
8

Ich versuche, die Rails tutorial by Michael Hartl gehen zu bekommen. Ich verbrachte viel Zeit damit, verschiedene Bibliotheken zu bekämpfen. Also habe ich alle Ruby-Software von meinem Ubuntu 10.4-System entfernt.Rails 3: Ruby 1.9.2: Benötigt es /usr/bin/ruby1.8?

Dann installierte ich Ruby 1.9.2.

$ ruby -v 
ruby 1.9.2dev (2010-07-02) [i486-linux] 

So weit so gut. Dann tat ich

sudo gem install rails 

Nach einer langen Zeit, beendete es die Installation. Dann lief ich

Also ... Ich habe keine /usr/bin/ruby1.8 auf meinem System. Wie bekomme ich mit Rails 3.0.3 meinen Rubin in/usr/bin/ruby?

Ich schätze jede Hilfe, die Sie mir geben können.

Nur um zu sehen, ob ich weitermachen konnte, habe ich versucht,

$ cd /usr/bin 
$ sudo ln -s ruby1.9.2 ruby1.8 

Dies ließ mich weitermachen, aber es ist das Richtige zu tun?

+0

Was ist die Ausgabe von 'Edelstein Umwelt'? Speziell die 'RUBY VERSION' und' RUBY EXECUTABLE'. – Nemo157

+0

"Gem-V" ergab 1.3.7. "Gem-Umgebung" ergab RUBY VERSION: 1.9.2 (2010-07-02 Patchlevel -1) [i486-linux] - INSTALLATIONSVERZEICHNIS: /var/lib/gems/1.9.2 - RUBY EXECUTABLE:/usr/bin /ruby1.9.2 –

Antwort

3

Es dauerte drei verschiedene Methoden der Installation und Deinstallation Ruby, aber ich habe es endlich!

Ich fand ein tolles Tutorial von Toran Billups, die einige gute Anweisungen gibt. Nach der Analyse, was er getan hat, kommt es zu ein paar Schlüsselkonzepten:

  • Einige Bibliotheken, die unabhängig von der Ruby-Version sind, müssen im System installiert werden (mit "sudo apt-get").
  • Verwenden Sie RVM, um Ruby in Ihrem eigenen Konto zu installieren. d.h. kein "Sudo".
  • Verwenden Sie den Edelstein, um Edelsteine ​​in Ihrer speziellen Rubinumgebung zu installieren. (d.h. kein "Sudo"). Wenn Sie 1.8 als Ruby-Umgebung festlegen, werden die Edelsteine ​​in der Baumstruktur von RVM 1.8 in Ihrer Umgebung installiert. Wenn Sie 1.9.2 als Umgebung festlegen, werden Edelsteine ​​in der Struktur von 1.9.2 in Ihrer Umgebung installiert.
  • Hier ist dann der Prozess.

    1. Entfernen Sie alle Ruby-Programme (1.8.x und 1.9.2) und Ruby-Bibliotheken von Ihrem Ubuntu 10.4-System.
    2. Installieren RVM auf Ihrem System, nach den Anweisungen auf der RVM site(gebrochen)RVM site.
    3. Folgen Sie Toran Billups' tutorial, beginnend an dem Punkt, wo Sie Ruby 1.8.7 installieren.
    4. Folgen Sie den Anweisungen auf Michael Hartl's tutorial(gebrochen)Michael Hartl's tutorial Rails 3.0 zu bekommen Ruby arbeiten 1.9.2, Github, heroku.com, rspec, Spork und Autotest.
    0

    Durch die Geräusche davon findet Bash ruby1.8, wenn es die #!/usr/bin/env ruby Zeile aus dem Rails-Skript ausführt, obwohl es nicht existiert. Probieren Sie /usr/bin/env which ruby aus, um genau zu sehen, welchen Interpreter es laden möchte.

    +0

    Bevor ich die ln -s /usr/bin/ruby1.9.2 /usr/bin/ruby1.8 gemacht habe, gab es keinen ruby1.8. Bash konnte es nicht finden. Aber warum sollte Bash überhaupt nach /usr/bin/ruby1.8 suchen? Ich habe es nicht einmal auf meinem System installiert! –

    +0

    Ich bin mir nicht sicher, der "schlechte Interpreter" -Teil der Fehlermeldung ist, was mich denken lässt, dass es die Shebang-Zeile ist, auf der es sich ausspricht. Wenn du 'bin/rails' aus dem Rails-Ordner öffnest, hat er' #!/Usr/bin/env ruby' als seinen Shebang, also sollte er den ersten Ruby benutzen, den du in deinem Pfad gefunden hast. Irgendwie bringt das '/ usr/bin/ruby1.8' zurück zum bash. Wenn Sie '/ usr/bin/env which ruby' ausführen, sollte der vollständige Pfad zum gefundenen Interpreter angezeigt werden. – Nemo157

    +1

    Vielleicht öffnen Sie '/ usr/bin/rails' und prüfen Sie, ob dies die erste Zeile ist. Es könnte irgendwie in '#!/Usr/bin/ruby1.8' geändert worden sein, obwohl ich keine Ahnung habe, wie das passiert sein könnte. – Nemo157

    2

    Ich hatte den gleichen Fehler nach der Installation mit RVM und das Öffnen neuer Schalen. Die Lösung war zu laufen:

    $ rvm use 1.9.2 --default 
    

    P.S.
    Ich benutze Ubuntu 10.04 und nach zwei Tagen der Versuch und Irrtum endlich Schienen 3 mit Ruby 1.9.2 arbeiten. Ich empfehle sehr, RVM zu verwenden, um Ruby ein Geschenk des Himmels zu installieren!

    0

    Ich hatte auch Kopfschmerzen mit dieser, und möchte jetzt RVM nicht verwenden.

    Ich sah, dass die Shebang-Zeile für/usr/bin/gem #!/Usr/bin/ruby1.8 war und dass dies vermutlich das Problem war.

    Ich stellte sicher,/etc/Alternativen zeigte auf das richtige Edelstein-Skript; dies kann mit eingestellt werden:

    update-alternatives --config gem

    Dann I/entfernt usr/bin/gem und Symlink von/usr/bin/gem/etc/alternatives/gem

    Es stellt sich heraus, dass der einzige Unterschied in den Gem-Skripten die Shebang-Linie war, also hätte sich das manuell geändert, das hätte auch funktioniert.

    0

    Gelöst, indem ich die Version meines aktuellen Ruby (mit RVM) auf 2.0.x zurück änderte.

    Als ich Schienen (vor zwei Tagen) installiert habe, war es unter der Version 2.0.0. Gestern habe ich auf 2.1.x gewechselt. Heute habe ich den rails Befehl ausprobiert und den Fehler bekommen.

    Also zurück zur RVM Ruby Version Ich installierte Rails hat den Trick gemacht.

    Sorry vom schlechten Englisch.

    P.S. Mit Ubuntu 13.10

    Verwandte Themen