problema de permiso de instalación de gem

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. 

El usuario de inicio de sesión actual es qichunren, y el usuario de qichunre tiene permiso de escritura con .gem dir.Me gustaría saber por qué gem no instala archivos en mi casa .gem dir primero. ¿Por qué mi gem común primero desea instalar archivos en /opt/ruby-enterprise-1.8.7/lib/ruby/gems/1.8

Para una instalación de Ruby en todo el sistema, conviértase en root. Por ejemplo:

 $ sudo gem install hpricot 

Sin embargo, el enfoque moderno en muchas circunstancias, incluso en el desarrollo, es utilizar una herramienta que le permita instalar y usar Ruby fácilmente como usuario normal. Esto te permite evitar tener que convertirte en root. Hay algunas de estas herramientas, y la que yo uso es RVM .

 # install rvm into your ~ $ \curl -sSL https://get.rvm.io | bash -s stable # install latest version of ruby into your ~ $ rvm install ruby # installs a gem into your ~ $ gem install $SOME_GEM_NAME 

Intente configurar GEM_HOME y GEM_PATH en ~/.gem ,

Para la sesión de terminal actual, simplemente escriba:

 export GEM_HOME=~/.gem export GEM_PATH=~/.gem 

Si desea que se configuren cada vez que abra un terminal, agregue los comandos anteriores a su archivo ~/.bashrc .

Para obtener una solución más completa para configurar un entorno ruby ​​personalizado, consulte este tutorial de Site5KB , que describe el uso de un archivo .gemrc .

Si está utilizando rbenv y esto está sucediendo, debe agregar lo siguiente a su .bash_profile:

 export RBENV_ROOT="$HOME/.rbenv" if [ -d $RBENV_ROOT ]; then export PATH="$RBENV_ROOT/bin:$PATH" eval "$(rbenv init -)" fi 

Recibí este error en mi servidor compartido a través de 1 y 1 hosting. mi solución fue agregar la --user-install , que simplemente la instala para el usuario que ha iniciado sesión (que es todo lo que necesita en un entorno de servidor compartido); instalando sass

 gem install sass --user-install 

reinstalar ruby ​​resolver mi problema

 brew install ruby