Tengo ruby instalado en mi ubuntu 16.04.
$which ruby
/usr/bin/ruby
$ruby -v
ruby 2.3.0p0 (2015-12-25) [x86_64-linux-gnu]
$gem install bundler
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /var/lib/gems/2.3.0 directory.
¡Cualquier ayuda será apreciada!
rubygems
gem-bundler
Derek
fuente
fuente
Respuestas:
Primero debe desinstalar el ruby instalado por Ubuntu con algo como
sudo apt-get remove ruby
.Luego reinstale ruby usando rbenv y ruby-build de acuerdo con sus documentos:
El último paso es instalar Bundler:
¡Entonces disfruta!
Derek
fuente
vim-gnome
por ejemplo). Supongo que preferiría saber por qué, en primer lugar, necesita escribir/var/lib/...
para la instalación de un usuario ... ¿Hice unasudo gem install
cuando no es necesario?Ctrl+Alt+F1
y ejecute los siguientes comandos (desinstala e instala Cinnamon nuevamente):sudo apt purge cinnamon && sudo apt install cinnamon
rbenv install -l
para obtener una lista de todas las versiones disponibles, luegorbenv install 2.5.1
para la versión 2.5.1 o la que desee.Si desea utilizar la distribución Ruby en lugar de rb-env / rvm, puede configurar una
GEM_HOME
para su usuario actual. Empiece creando un directorio para almacenar las gemas Ruby para su usuario:Luego actualice su shell para usar ese directorio
GEM_HOME
y actualice suPATH
variable para incluir el directorio bin de Ruby gem.(Esa última línea recargará las variables de entorno en su shell actual).
Ahora debería poder instalar Ruby gems bajo su usuario usando el
gem
comando. Pude hacer que esto funcionara con Ruby 2.5.1 en Ubuntu 18.04. Si está utilizando un shell que no es Bash, deberá editar el script de inicio para ese shell en lugar debashrc
.fuente
(Enero de 2019) Para instalar Ruby usando el script Rbenv, siga estos pasos:
1. Primero, actualice el índice de paquetes e instale los paquetes necesarios para que la herramienta ruby-build compile Ruby desde la fuente:
2. A continuación, ejecute el siguiente comando curl para instalar tanto rbenv como ruby-build:
3. Agregue $ HOME / .rbenv / bin a la RUTA del sistema.
Si está utilizando Bash, ejecute:
Si está utilizando Zsh, ejecute:
4. Instale la última versión estable de Ruby y configúrela como versión predeterminada con:
5. Verifique que Ruby se haya instalado correctamente imprimiendo el número de versión:
FUENTE: Cómo instalar Ruby en Ubuntu 18.04
EDITAR: Instalar rubygems:
fuente
.zshrc
cambios que hice a mano) y funcionó a la perfección. De la misma manera que agregó cómo instalarrubygems
, sugeriría tal vez añadiendo la forma de actualizar más adelante la versión instalada de rubí (supongo que acaba de ejecutar lasrbenv install
y losrbenv global
comandos de nuevo y tal vezrbenv uninstall
para podar versiones no actualizadas)En lugar de cambiar de propietario, lo que podría bloquear a otros usuarios locales, o, algún día, a su propio servidor ruby / cosas de implementación ... ejecutándose con un usuario diferente ...
Preferiría simplemente extender los derechos de esa carpeta en particular a ... bueno, a todos:
(También encontré su error. Así que esto está bastante verificado).
fuente
Intente usar
chown -R
en elvar/lib/gems
directorio, asignando propiedad al usuario [rubyusername
] en este ejemplo, el usuario que instalará y desarrollará con gems.Esto cambia todo de forma recursiva en el directorio de gemas . Para mayor seguridad en sistemas multiusuario, también puede crear un grupo, en lugar de seleccionar el nombre de usuario ruby individual, y agregar usuarios a ese grupo.
fuente
Sobre la base de la respuesta anterior de derek, generalmente no se recomienda utilizar la instancia de Ruby proporcionada por el sistema para su propio trabajo de desarrollo, ya que las herramientas del sistema pueden depender de la versión o ubicación particular de la instalación de Ruby. De manera similar a esta respuesta para Mac OSX , querrá seguir las instrucciones de derek sobre el uso de algo como rbenv ( RVM es una alternativa similar) para instalar su propia instancia de Ruby.
Sin embargo, no es necesario desinstalar la versión del sistema de Ruby, las instrucciones de instalación de rbenv proporcionan un mecanismo para asegurarse de que la instancia de Ruby disponible en su shell sea la instancia de rbenv, no la instancia del sistema. Este es el
línea en la respuesta de derek.
fuente
Encontré el mismo error en Acciones de GitHub. Agregar
sudo
resolvió el problema.fuente
Reinstalar Compass funcionó para mí ... ¡Es una magia!
fuente
Ubuntu 20.04:
Opción 1: configure un directorio de instalación de gemas para su cuenta de usuario
Para bash (para zsh, usaríamos por
.zshrc
supuesto)Opción 2: usar snap
Desinstale apt-version (
ruby-full
) y vuelva a instalarlo consnap
fuente