Haftungsausschluss: @theTinMan und andere Ruby-Entwickler weisen häufig darauf hin, dass sie sudobei der Installation von Edelsteinen nicht verwendet werden sollen , und verweisen auf Dinge wie RVM . Das ist absolut richtig, wenn Sie Ruby entwickeln. Gehen Sie voran und nutzen Sie das.
Allerdings wollen viele von uns nur einige binäre, die als Juwel verteilt werden geschieht (zB fakes3, cocoapods, xcpretty...). Ich möchte mich definitiv nicht darum kümmern, einen separaten Rubin zu verwalten. Hier sind Ihre schnelleren Optionen:
Option 1: Verwenden Sie weiterhin sudo
Die Verwendung sudoist wahrscheinlich in Ordnung, wenn diese Tools global installiert werden sollen.
Das Problem ist , dass diese Binärdateien in installiert sind /usr/bin, das ist tabu , da El Capitan. Sie können sie jedoch /usr/local/binstattdessen installieren . Dort installiert Homebrew seine Sachen, also existiert sie wahrscheinlich bereits.
sudo gem install fakes3 -n/usr/local/bin
Gems werden installiert /usr/local/binund jeder Benutzer auf Ihrem System kann sie verwenden, wenn sie sich in seinem Pfad befinden .
Option 2: In Ihrem Home-Verzeichnis installieren (ohne sudo)
Im Folgenden werden Edelsteine installiert ~/.gemund Binärdateien eingefügt ~/bin(die Sie dann zu Ihrer hinzufügen sollten PATH).
gem install fakes3 --user-install -n~/bin
Machen Sie es zum Standard
In beiden Fällen können Sie diese Parameter zu Ihrem hinzufügen, ~/.gemrcdamit Sie sich nicht an sie erinnern müssen:
gem: -n/usr/local/bin
dh echo "gem: -n/usr/local/bin" >> ~/.gemrc
oder
gem: --user-install -n~/bin
dh echo "gem: --user-install -n~/bin" >> ~/.gemrc
( Tipp: Sie können auch --no-documentdie Erstellung der Ruby-Entwicklerdokumentation überspringen.)
sudo, um Ruby zu installieren oder Edelsteine zu wechseln. Verwenden Sie stattdessen rbenv oder RVM , um Ruby zu installieren und zu verwalten. Lesen und befolgen Sie die Anweisungen auf den jeweiligen Websites. VerwendensudoSie in beiden Fällen nach der Installation nur, wenn Sie wissen , was sich ändert und warum Sie dies tun möchten.