Installato Vagrant tramite sudo apt-get install vagrant
, e ogni volta che provo a eseguire qualche comando vagrant, come vagrant init precise32 http://files.vagrantup.com/precise32.box
Ottengo il seguente errore:
/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>'
Non sono sicuro del motivo per cui rvm viene coinvolto qui, ma vabbè, spero che voi ragazzi possiate guidarmi su come risolverlo.
Risposta accettata:
Quando hai installato Vagrant usando apt-get
avrebbe installato tutte le sue dipendenze richieste per la versione standard di Ruby con pacchetto Ubuntu. Ma il tuo messaggio di errore lo indica quando esegui vagrant
sta tentando di utilizzare una versione di Ruby (e le sue gemme) gestita da RVM piuttosto che la versione di sistema e nella tua versione di Ruby manca almeno una delle sue dipendenze, log4r
.
Penso che tu abbia alcune opzioni:
- Ripristina l'utilizzo della versione di sistema (Ubuntu standard) di Ruby eseguendo qualcosa come
rvm use system --default
per ripristinare RVM per impostazione predefinita e modificare le versioni di Ruby solo quando necessario. - Torna alla versione di sistema solo quando esegui Vagrant, quindi esegui
rvm use system
prima di eseguirevagrant
nella stessa shell. - Identifica tutte le Gemme Ruby da cui dipende Vagrant e installale manualmente nella tua installazione Ruby gestita da RVM. Questo sarebbe un approccio complicato, però. In passato era possibile installare Vagrant stesso come Ruby Gem, quindi avresti potuto installarlo nella tua installazione Ruby gestita da RVM, ma non è più supportato.
Consulta la documentazione sulle opzioni dei comandi RVM per maggiori dettagli sul controllo della versione di Ruby in uso.