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-gnomepor 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 installcuando no es necesario?Ctrl+Alt+F1y ejecute los siguientes comandos (desinstala e instala Cinnamon nuevamente):sudo apt purge cinnamon && sudo apt install cinnamonrbenv install -lpara obtener una lista de todas las versiones disponibles, luegorbenv install 2.5.1para 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_HOMEpara su usuario actual. Empiece creando un directorio para almacenar las gemas Ruby para su usuario:Luego actualice su shell para usar ese directorio
GEM_HOMEy actualice suPATHvariable 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
gemcomando. 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
.zshrccambios 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 instally losrbenv globalcomandos de nuevo y tal vezrbenv uninstallpara 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 -Ren elvar/lib/gemsdirectorio, 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
sudoresolvió 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
.zshrcsupuesto)Opción 2: usar snap
Desinstale apt-version (
ruby-full) y vuelva a instalarlo consnapfuente