Im Gegensatz zu allen anderen Posts empfehle ich, sudo
bei der Installation von Edelsteinen NICHT zu verwenden.
Stattdessen empfehle ich Sie installieren RVM und starten Sie ein glückliches Leben mit tragbaren Gem Häuser und verschiedene Version von Ruby alle unter einem Dach leben.
Für die Uneingeweihten, von the documentation:
RVM ist ein Kommandozeilen-Tool, das wir einfach zu installieren, verwalten und arbeiten mit mehreren Rubinen Umgebungen und Gruppen von Edelsteinen ermöglicht.
Der Grund, warum Edelsteine mit sudo
Installation ist schlimmer als nur gem install
ist, weil es die Edelsteine für ALLE NUTZER als root
installiert. Dies kann in Ordnung sein, wenn Sie die einzige Person sind, die das Gerät verwendet, aber wenn Sie nicht sind, kann es Verrücktheit verursachen.
Wenn Sie entscheiden, dass Sie alle Ihre Edelsteine wegpusten und neu starten möchten, ist es viel einfacher und sicherer, dies als Nicht-root-Benutzer zu tun.
Wenn Sie sich entscheiden, RVM
verwenden dann sudo
verwenden, werden alle Arten von Seltsamkeit verursachen, weil jede Ruby-Version Sie installieren RVM
durch eigene GEM_HOME hat.
Es ist auch schön, wenn Sie Ihre Entwicklungsumgebung so nah wie möglich an Ihre Produktionsumgebung bringen können, und in der Produktion werden Sie höchstwahrscheinlich Edelsteine als Nicht-Root-Benutzer installieren.
Ich denke, das ist eine gültige Frage für diejenigen von uns, die ein Juwel verwenden müssen, das Root-Privilegien benötigt. – Kelly
Related: http://stackoverflow.com/questions/21141584/rails-is-not-using-my-global-ruby-version. Ich benutze rbenv für die Verwaltung von Ruby-Versionen und stieß auf ein Problem, weil ich 'sudo gem install rails' anstelle von' gem install rails' verwendet habe. – Dennis
"Ich denke, das ist eine gültige Frage für diejenigen von uns, die ein Juwel verwenden müssen, das Root-Privilegien benötigt." Ich denke, jedes Juwel, das root-Privilegien benötigt, um entweder installiert zu werden oder zu laufen, ist höchst verdächtig.Edelsteine sollten in der Lage sein, in einer Sandbox zu laufen und mit den Berechtigungen des Benutzers zu laufen. –