wake-up-neo.com

Wie kann ich zu Ruby 1.9.3 wechseln, das mit Homebrew installiert wird?

Ich habe Ruby 1.9.3 mit homebrew installiert

die Standardeinstellung 1.8.7 wird jedoch weiterhin verwendet. Wie kann ich os umschalten, um 1.9.3 als Standard-Ruby zu verwenden?

But default 1.8.7 is still used. How can I switch osx to use 1.9.3 as default ruby?

70
Alexey Zakharov

Ich schlage vor, dass Sie einen Blick auf rvm ..__ werfen. Sie können es dann mit rvm use 1.9.3 --default als Standard festlegen.

Aber wenn Sie mit Ihrer Homebrew-Installation zufrieden sind.

Dann ändern Sie einfach die Rangfolge der Verzeichnisse in der PATH

Hier sind meine/etc/Wege

# homebrews should always take precedence
/usr/local/bin

# the default stack
/usr/bin
/bin
/usr/sbin
/sbin

Dies ist im Allgemeinen für Homebrew wichtig, ansonsten wird die Systemversion von git, Ruby, pg_admin, ... anstelle der Brew-Version verwendet.

wenn Sie which -a Ruby sagen, werden alle installierten Rubine und der Vorrang in der PATH angezeigt.

z.B.

$ which -a Ruby
/Users/matthew/.rvm/rubies/Ruby-1.9.3-p0/bin/Ruby
/Users/matthew/.rvm/bin/Ruby
/usr/bin/Ruby


UPDATE: Ich denke jetzt nicht, dass Sie /etc/paths ändern sollten.

Stattdessen müssen Sie überprüfen, welche von .profile, .bashrc oder .bash_login in Ihre Shell geladen werden, und fügen Sie einfach /usr/local/bin zu Ihrem Pfad hinzu.

Für mich habe ich nur einen .profile. Sie können diese Datei erstellen, wenn keine dieser Dateien bereits in Ihrem Basisverzeichnis vorhanden ist.

# homebrews should always take precedence
export PATH=/usr/local/bin:$PATH
85
Matthew Rudy

KURZE ANTWORT:

nachdem Sie Ruby via Homebrew installiert haben, tun Sie dies einfach:

brew link --overwrite Ruby

und starten Sie Ihr Terminal neu oder öffnen Sie es erneut


LANGE ANTWORT

Also habe ich eine normale Installation von Ruby mit Homebrew durchgeführt

brew install Ruby

das installierte fein, ABER es verwendete immer noch den Standard-Ruby ..__ des Systems.

which Ruby 
#/usr/bin/Ruby

Gemäß Matthew Rudys Vorschlag habe ich die Reihenfolge meiner/etc/-pfade überprüft, und alles war gut.

Dann entschied ich mich zu tun:

which -a Ruby
#/usr/bin/Ruby
#usr/local/bin/Ruby

also war nichts als solches kaputt ... und versuchte, Ruby erneut mit der homebrew-Methode zu installieren, und dann fand ich es.

Homebrew erwähnt:

Warning: Ruby-2.3.1 already installed, it's just not linked

so musste tun:

brew link --overwrite Ruby
49
Craig Wayne

Wenn Sie Homebrew für die Installation von 1.9.3 verwenden möchten, können Sie die folgenden Schritte ausführen:

$ brew update
$ brew install rbenv
$ brew install Ruby-build

Nachdem Sie rbenv und Ruby-build installiert haben, können Sie den folgenden Befehl ausführen, um Ruby 1.9.3 zu installieren.

$ rbenv install 1.9.3-p125

Wenn Sie 1.9.3 standardmäßig verwenden möchten, können Sie den folgenden Befehl ausführen:

$ rbenv global 1.9.3-p125
42
Francis Kim

Ich hatte eine ähnliche Situation. Ich habe Ruby mit Homebrew installiert. which -a Ruby gab mir folgende Ausgabe: 

#usr/local/bin/Ruby
#/usr/bin/Ruby

Dies bedeutet, dass eine neu installierte Version hätte verwendet werden sollen, aber Ruby --version gab immer noch die alte Systemversion zurück.

Ich beende das Terminal (Cmd + Q) und nach dem Neustart gab Ruby --version die korrekte Version zurück. Stellen Sie daher sicher, dass Sie das Terminal nach der Installation neu starten, bevor Sie andere (möglicherweise unnötige) Korrekturen durchführen.

5

SHORT: Notieren Sie, wofür Sie es ändern möchten. 

Wenn Sie mit OS X arbeiten und versuchen, Ruby für etwas wie Jekyll zu verwenden, verwenden Sie kein Homebrew, da Apple dies für Ruby verwendet und es möglicherweise nicht gut ist, wenn Sie sich nicht sicher sind, was Sie sind tun. Verwenden Sie stattdessen rbenv oder RVM.

LESS SHORT: Ich habe versucht, von der Standardversion auf eine aktualisierte Version (von 2.0) zu wechseln, um Jekyll zu verwenden, da dafür Ruby-Version 2.2.5 und höher erforderlich war. Ich habe es aktualisiert und Version 2.5 wurde installiert, aber als ich "Ruby -v" überprüfte, war es immer noch 2.0. Nachdem ich endlich die Standardversion geändert hatte, konnte ich das benötigte Paket nicht installieren, da ich keine Schreibberechtigung hatte. Wenn Sie zum Beispiel auf so etwas stoßen, haben Sie wahrscheinlich das gleiche Problem

$ gem install jekyll bundler
ERROR:  While executing gem ... (Gem::FilePermissionError)    
    You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
1
Richard Lin

In OSX können Sie den Pfad folgendermaßen ändern:

Sudo Nano/etc/Pfade

Fügen Sie dann einen Pfad hinzu oder ändern Sie die Reihenfolge.

0
Robert