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?
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
/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
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
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
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.
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.
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.