it-swarm.com.de

Die Installation von gem schlägt fehl mit dem Berechtigungsfehler

Ich habe gestern mein Mac OS auf 10.9 Mavericks aktualisiert. Meine aktuelle Ruby-Version zeigt als 

Ruby 2.0.0p247 (2013-06-27, Revision 41674) [universal.x86_64-darwin13]

Ich habe Rails auf meinem Rechner installiert und wenn ich versuche Edelsteine ​​zu installieren, erhalte ich die folgende Meldung:

 Abrufen: eventmachine-1.0.3.gem (100%) 
 ERROR: Beim Ausführen von gem ... (Gem :: FilePermissionError) 
 Sie haben keine Schreibberechtigung für die/Library/Ruby/Gems/2.0.0 Verzeichnis .

Ich versuche das alles in meinem Heimatverzeichnis. Irgendwelche Vorschläge?

10
Aniruddha

Verwenden Sie einen Ruby-Versionsmanager wie RVM oder rbenv .

Ich kann nicht für rbenv sprechen, aber RVM fügt Ihrer bin, auf die Sie Zugriff haben, eine Ruby-Versionsspezifische PATH vor, auf die Sie Zugriff haben, sodass Sie Sudo nicht verwenden müssen sehr entmutigt).

rbenv fügt Ihrem $PATH ähnlich ein, verwendet jedoch ein Shim.

11
Stuart Nelson

Als ich denselben Fehler hatte, war dies der Fall, weil ich keinen Ruby-Versionsmanager installiert hatte. Standardmäßig wurde die Ruby-Version verwendet, die mit meinem Computer geliefert wurde, der root gehört.

Da die Verwendung von Sudo zur Installation von Gems eine sehr schlechte Idee ist, habe ich RVM mit Ruby 2.1.2 installiert

\curl -sSL https://get.rvm.io | bash -s stable --Ruby=2.1.2

stellen Sie dann sicher, dass es als Standard verwendet wird, indem Sie es ausführen

rvm use Ruby-2.1.2

RVM erstellt einen neuen Speicherort zum Speichern von Ruby und Edelsteinen mit Ihren Benutzerberechtigungen, sodass Sie nicht Sudo verwenden müssen oder einen Berechtigungsfehler erhalten. Das neue Juwel ist:

~/.rvm/gems

Dann mach weiter so wie du warst ...

gem install ....
10
Kingsley Ijomah

Ich habe keine RVM installiert. Ich habe diese Fehlermeldung erhalten, weil ich rbenv installiert habe, aber rbenv init noch nicht ausgeführt habe. 

Nachdem ich den Inhalt des Befehls rbenv init in .bash_profile eingefügt habe, funktioniert gem install wie erwartet.

Ich habe auch zufällig rbenv global <Ruby-version> auf eine heruntergeladene Ruby-Version gesetzt.

5
Jonathan Lin

Ich möchte Ihnen nur sagen, nachdem Sie eine gute Stunde oder mehr verschwendet haben, um zu versuchen, RubyGems zu installieren ... zu rubygems-2.4.5 'Sudo'brachte mich durch! Es funktioniert ein Vergnügen ... 

0
user2431002