Sie sollten wirklich einen Ruby-Versionsmanager verwenden.
Die korrekte Verwendung eines solchen Systems würde Ihr Problem mit der Erlaubnis bei der Ausführung einer gem update
Befehl.
Ich empfehle rbenv .
Aber auch wenn Sie einen Ruby-Versionsmanager verwenden, können Sie dieselbe Fehlermeldung erhalten.
Wenn dies der Fall ist und Sie rbenv verwenden, überprüfen Sie einfach, ob die ~/.rbenv/shims
Verzeichnis vor dem Pfad für das System Ruby steht.
$ echo $PATH
zeigt Ihnen die Reihenfolge des Ladevorgangs an.
Wenn Sie feststellen, dass Ihr Shims-Verzeichnis nach Ihrem System-Ruby-Bin-Verzeichnis kommt, dann bearbeiten Sie Ihr ~/.bashrc
Datei und fügen Sie diese als letzten export PATH-Befehl ein: export PATH=$HOME/.rbenv/shims:$PATH
$ ruby -v
zeigt Ihnen, welche Version von Ruby Sie verwenden
Dies zeigt, dass ich derzeit die Systemversion von Ruby verwende (normalerweise nicht gut)
$ ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]
$ rbenv global 1.9.3-p448
wechselt zu einer neueren, vorinstallierten Version (siehe Referenzen unten).
Dies zeigt, dass ich eine neuere Version von Ruby verwende (die wahrscheinlich nicht den Gem::FilePermissionError verursachen wird)
$ ruby -v
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin12.4.0]
Normalerweise sollten Sie einem gem-Befehl kein sudo voranstellen müssen. Wenn Sie das Gefühl haben, dies tun zu müssen, ist wahrscheinlich etwas falsch konfiguriert.
Einzelheiten zu rbenv finden Sie im Folgenden: