rubygems - que - bundler traduccion
No tiene permisos de escritura para el directorio/var/lib/gems/2.3.0 (6)
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!
En lugar de cambiar de propietario, lo que podría bloquear a otros usuarios locales, o, algún día, su propio servidor ruby / cosas de implementación ... ejecutándose bajo un usuario diferente ...
Prefiero simplemente extender los derechos de esa carpeta en particular a ... bueno, a todos:
cd /var/lib
sudo chmod -R a+w gems/
(También encontré tu error. Así que esto está bastante verificado).
Intente usar
chown -R
en el directorio
var/lib/gems
, asignando la propiedad al usuario [
rubyusername
] en este ejemplo, el usuario que se instalará y desarrollará con gems.
# chown -R rubyusername:rubyusername /var/lib/gems
Esto cambia recursivamente todo bajo el directorio de gemas . Para mayor seguridad en sistemas multiusuario, también puede crear un grupo, en lugar de compartir el nombre de usuario de ruby individual, y agregar usuarios a ese grupo.
Primero debe desinstalar el ruby instalado por Ubuntu con algo como
sudo apt-get remove ruby
.
Luego reinstale ruby usando rbenv y ruby-build acuerdo con sus documentos:
cd $HOME
sudo apt-get update
sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo ''export PATH="$HOME/.rbenv/bin:$PATH"'' >> ~/.bashrc
echo ''eval "$(rbenv init -)"'' >> ~/.bashrc
exec $SHELL
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo ''export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"'' >> ~/.bashrc
exec $SHELL
rbenv install 2.3.1
rbenv global 2.3.1
ruby -v
El último paso es instalar Bundler:
gem install bundler
rbenv rehash
Entonces disfruta!
Derek
Si desea utilizar la distribución Ruby en lugar de rb-env / rvm, puede configurar un
GEM_HOME
para su usuario actual.
Comience creando un directorio para almacenar las gemas de Ruby para
su
usuario:
$ mkdir ~/.ruby
Luego, actualice su shell para usar ese directorio para
GEM_HOME
y para actualizar su variable
PATH
para incluir el directorio Ruby gem bin.
$ echo ''export GEM_HOME=~/.ruby/'' >> ~/.bashrc
$ echo ''export PATH="$PATH:~/.ruby/bin"'' >> ~/.bashrc
$ source ~/.bashrc
(Esa última línea volverá a cargar las variables de entorno en su shell actual).
Ahora deberías poder instalar gemas Ruby bajo tu usuario usando el comando
gem
.
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 de
bashrc
.
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. 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
echo ''eval "$(rbenv init -)"'' >> ~/.bashrc
línea en la respuesta de Derek.
(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 de compilación ruby genere Ruby desde la fuente:
sudo apt-get remove ruby
sudo apt update
sudo apt install git curl libssl-dev libreadline-dev zlib1g-dev autoconf bison build-essential libyaml-dev libreadline-dev libncurses5-dev libffi-dev libgdbm-dev
2. Luego, ejecute el siguiente comando curl para instalar rbenv y ruby-build:
curl -sL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash -
3. Agregue $ HOME / .rbenv / bin a la RUTA del sistema.
Si está utilizando Bash, ejecute:
echo ''export PATH="$HOME/.rbenv/bin:$PATH"'' >> ~/.bashrc
echo ''eval "$(rbenv init -)"'' >> ~/.bashrc
source ~/.bashrc
Si está utilizando Zsh, ejecute:
echo ''export PATH="$HOME/.rbenv/bin:$PATH"'' >> ~/.zshrc
echo ''eval "$(rbenv init -)"'' >> ~/.zshrc
source ~/.zshrc
4. Instale la última versión estable de Ruby y configúrela como una versión predeterminada con:
rbenv install 2.5.1
rbenv global 2.5.1
Para enumerar todas las versiones de Ruby disponibles, puede usar:
rbenv install -l
5. Verifique que Ruby se instaló correctamente imprimiendo el número de versión:
ruby -v
# Output
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
FUENTE: Cómo instalar Ruby en Ubuntu 18.04
EDITAR: instalar rubygems:
sudo apt-get install rubygems