Ich habe Ruby 1.9.3 mit Hombrew installiert
brauen installieren rubin
Standard 1.8.7 wird jedoch weiterhin verwendet. Wie kann ich osx auf 1.9.3 als Standard-Ruby umstellen?
Ich habe Ruby 1.9.3 mit Hombrew installiert
brauen installieren rubin
Standard 1.8.7 wird jedoch weiterhin verwendet. Wie kann ich osx auf 1.9.3 als Standard-Ruby umstellen?
Antworten:
Ich schlage vor, Sie werfen einen Blick auf rvm . Sie können es dann als Standard mit festlegenrvm use 1.9.3 --default
Aber wenn Sie mit Ihrer Homebrew-Installation zufrieden sind.
Dann ändern Sie einfach die Priorität der Verzeichnisse in der PATH
Hier sind meine / etc / Pfade
# 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, da sonst die Systemversion von git, ruby, pg_admin, ... anstelle der Brew-Version verwendet wird.
Wenn Sie sagen which -a ruby
, sehen Sie alle installierten Rubine und den Vorrang in derPATH
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
Stattdessen müssen Sie die von überprüfen .profile
, .bashrc
oder .bash_login
in der Shell geladen wird, und fügen Sie einfach /usr/local/bin
auf Ihrem Weg.
Für mich habe ich nur eine .profile
. Sie können diese Datei erstellen, wenn keine dieser Dateien bereits in Ihrem Home-Verzeichnis vorhanden ist.
# homebrews should always take precedence
export PATH=/usr/local/bin:$PATH
brew upgrade git
, aber die Version hat sich nicht geändert. Es stellte sich heraus, dass ich nie die Brauversion verwendet habe)
KURZE ANTWORT:
Nach der Installation von Ruby über Homebrew machen Sie einfach Folgendes:
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 gut, aber es verwendete immer noch den Standard-Ruby des Systems. was ich dadurch überprüft habe:
which ruby
#/usr/bin/ruby
Also habe ich gemäß Matthew Rudys Vorschlag die Reihenfolge meiner / etc / Pfade überprüft und alles war gut.
Dann habe ich beschlossen:
which -a ruby
#/usr/bin/ruby
#usr/local/bin/ruby
so wurde nichts als solches gebrochen. Ich habe versucht, Ruby mit der Homebrew-Methode erneut zu installieren, und dann habe ich es gefunden.
Homebrew erwähnt:
Warning: ruby-2.3.1 already installed, it's just not linked
so musste tun:
brew link --overwrite ruby
ruby --version
eine veraltete Version angezeigt wird.
hash -r
?
Wenn Sie Homebrew zur 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
Sobald 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 jetzt standardmäßig 1.9.3 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 die folgende Ausgabe:
#usr/local/bin/ruby
#/usr/bin/ruby
Dies bedeutet, dass die neu installierte Version verwendet werden sollte, aber ruby --version
dennoch die alte Systemversion zurückgegeben wurde.
Ich habe das Terminal verlassen (Cmd + Q) und nach dem Neustart ruby --version
die richtige Version zurückgegeben. Stellen Sie daher sicher, dass Sie das Terminal nach der Installation neu starten, bevor Sie andere (möglicherweise unnötige) Korrekturen versuchen.
KURZ: Notieren Sie, wofür Sie es ändern möchten.
Wenn Sie unter 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, es zu verwenden, wenn Sie nicht sicher sind, was Sie sind tun. Verwenden Sie stattdessen rbenv oder RVM.
WENIGER KURZ: Ich habe versucht, von der Standardversion zu einer aktualisierten Version (von 2.0) zu wechseln, um Jekyll zu verwenden, da 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" aktiviert habe, 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 beispielsweise 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.
Nur als alternativer Ansatz für alle anderen, die nach einer Antwort darauf suchen, können Sie in Ihrem .bash_profile einen Alias festlegen, z
ruby="/usr/local/bin/ruby"
So bin ich um das Problem herumgekommen