Vagrant instalado a través de sudo apt-get install vagrant
, y cada vez que intento ejecutar algún comando vagabundo, como vagrant init precise32 http://files.vagrantup.com/precise32.box
Recibo el siguiente error:
/home/novito/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- log4r (LoadError)
from /home/novito/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /usr/bin/vagrant:2:in `<main>'
No estoy seguro de por qué rvm se involucra aquí, pero bueno, espero que puedan guiarme sobre cómo resolver esto.
Respuesta aceptada:
Cuando instalaste Vagrant usando apt-get
habría instalado todas las dependencias requeridas para la versión estándar de Ruby empaquetada con Ubuntu. Pero su mensaje de error indica que cuando ejecuta vagrant
está tratando de usar una versión de Ruby (y sus gemas) administrada por RVM en lugar de la versión del sistema, y a su versión de Ruby le falta al menos una de sus dependencias, log4r
.
Creo que tienes algunas opciones:
- Vuelva a usar la versión del sistema (Ubuntu estándar) de Ruby ejecutando algo como
rvm use system --default
para restablecer RVM de forma predeterminada y solo cambie las versiones de Ruby cuando lo necesite. - Vuelva a la versión del sistema justo cuando ejecute Vagrant, así que ejecute
rvm use system
antes de ejecutarvagrant
en el mismo caparazón. - Identifique todas las Ruby Gems de las que depende Vagrant e instálelas manualmente en su instalación de Ruby administrada por RVM. Sin embargo, este sería un enfoque complicado. Solía ser posible instalar Vagrant como Ruby Gem, por lo que podría haberlo instalado en su instalación de Ruby administrada por RVM, pero eso ya no es compatible.
Consulte la documentación de opciones de comandos de RVM para obtener más detalles sobre cómo controlar qué versión de Ruby está utilizando.