qichunren@zhaobak:~> gem install hpricot
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the /opt/ruby-enterprise-1.8.7/lib/ruby/gems/1.8 directory.
Der aktuelle Login-Benutzer ist qichunren, und der qichunre-Benutzer hat Schreibberechtigung mit .gem dir. Ich möchte wissen, warum gem nicht zuerst Dateien in meinem .gem-Verzeichnis zu Hause installiert? Warum mein Gem Common zuerst Dateien in /opt/ruby-enterprise-1.8.7/lib/ruby/gems/1.8 installieren möchte
ruby-on-rails
ruby
gem
Qichunren
quelle
quelle
rvm gem install hpricot
Versuchen Sie die Einstellung
GEM_HOME
undGEM_PATH
zu~/.gem
,Geben Sie für die aktuelle Terminalsitzung einfach Folgendes ein:
Wenn Sie möchten, dass diese beim Öffnen eines Terminals festgelegt werden, fügen Sie die obigen Befehle zu Ihrer
~/.bashrc
Datei hinzu.Eine umfassendere Lösung zum Einrichten einer benutzerdefinierten Ruby-Umgebung finden Sie in diesem Lernprogramm von Site5KB , in dem die Verwendung einer
.gemrc
Datei beschrieben wird.quelle
.gemrc
Konfiguration handelt. Für Rubin-Edelstein-Neulinge ist dies entmutigend, wenn ich verstehe, dass Ihre Lösung die viel einfacheren ist, die ich hinzugefügt habe. Die Lösung funktioniert für mich, aber als Ruby-Neuling bestätigen Sie bitte, dass meine Änderungen Ihrer Absicht entsprechen.PATH=$HOME/.gems/bin:$HOME/bin:$PATH GEM_HOME=$HOME/.gems GEM_PATH=$HOME/.gems:/var/lib/gems/2.1.0:/usr/lib/ruby/gems/2.1.0 export PATH GEM_HOME GEM_PATH
Ich habe diesen Fehler auf meinem gemeinsam genutzten Server über 1and1-Hosting erhalten. Meine Lösung bestand darin, die
--user-install
Option hinzuzufügen , die sie nur für Ihren angemeldeten Benutzer installiert (was alles ist, was Sie in einer Umgebung mit gemeinsam genutzten Servern benötigen). sass installierenquelle
--user-install
.Wenn Sie rbenv verwenden und dies geschieht, müssen Sie Ihrem .bash_profile Folgendes hinzufügen:
quelle
Ruby neu installieren mein Problem beheben.
quelle