641 Stimmen

Wie installiert man ein Gem oder aktualisiert RubyGems, wenn es mit einem Berechtigungsfehler fehlschlägt?

Ich versuche, einen Edelstein zu installieren, indem ich gem install mygem oder aktualisieren Sie RubyGems mit gem update --system und schlägt mit dieser Fehlermeldung fehl:

ERROR:  While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

Hat jemand eine Idee, wie man dieses Problem lösen kann?

12voto

bobbdelsol Punkte 976

Ich musste eine rbenv rehash damit sie auf meine örtliche Gem-Bibliothek verweist.

Es sieht so aus, als ob Ihr Gem-Manager auf die Systembibliothek verweist. Anstatt sich mit den Berechtigungen herumzuschlagen, sollten Sie das Äquivalent von "rehash" für Ihren Manager ausführen, damit die Dinge lokal verweisen.

5voto

zhao Punkte 974

Installieren Sie rbenv mit brew install rbenv ;

Dann setzen Sie eval "$(rbenv init -)" am Ende von ~/.bash_profile (oder ~/.zshrc von MacOS);

Öffnen Sie ein neues Terminal und führen Sie gem install *** wird funktionieren!

5voto

CodingEra Punkte 463

Schritte zur Lösung des Problems:

Schritt 1: Prüfen und Installieren von Cocoapods mit Homebrew

brew install cocoapods

Schritt 2: Dies ist der wichtigste Schritt, um alle Probleme zu beheben, die Installation des rvm-Paket mit stabiler Ruby-Version, ohne diese werden Sie auf die Ruby-Version im System-Ordner zugreifen, wo Sie nicht über Berechtigung haben.

\curl -sSL https://get.rvm.io | bash -s stable --ruby

Schritt 3: Fügen Sie den rvm-Befehlspfad zur .zshrc-Datei hinzu, um global darauf zugreifen zu können

export PATH="$PATH:$HOME/.rvm/scripts/rvm"

Schritt 4: Prüfen Sie, ob rvm in der Kommandozeile global korrekt läuft

rvm --version 

Schritt 5: Jetzt können Sie das cocoapods-Paket im Benutzer-Bin installieren, da dies auf die Ruby-Datei im rvm-Ordner zugreifen, ohne dass eine Berechtigung erforderlich ist.

sudo gem install -n /usr/local/bin cocoapods

Schritt 6: Jetzt können Sie den Pod auch mit dem folgenden Befehl überprüfen

pod install

4voto

evya Punkte 3261

Arbeit für mich:

sudo gem uninstall cocoapods

sudo gem install cocoapods

4voto

Zen Punkte 49

Überprüfen Sie, ob Ihre Ruby-Version richtig ist. Wenn nicht, ändern Sie sie.

Das funktioniert bei mir:

$ rbenv global 1.9.3-p547
$ gem update --system

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X