Installé Vagrant via sudo apt-get install vagrant
, et chaque fois que j'essaie d'exécuter une commande vagrant, telle que vagrant init precise32 http://files.vagrantup.com/precise32.box
J'obtiens l'erreur suivante :
/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>'
Je ne sais pas pourquoi rvm s'implique ici, mais bon, j'espère que vous pourrez me guider sur la façon de résoudre ce problème.
Réponse acceptée :
Lorsque vous avez installé Vagrant en utilisant apt-get
il aurait installé toutes ses dépendances requises pour la version standard de Ruby sous Ubuntu. Mais votre message d'erreur indique que lorsque vous exécutez vagrant
il essaie d'utiliser une version de Ruby (et ses Gemmes) qui est gérée par RVM plutôt que la version système, et votre version de Ruby manque au moins une de ses dépendances, log4r
.
Je pense que vous avez plusieurs options :
- Revenir à l'utilisation de la version système (Ubuntu standard) de Ruby en exécutant quelque chose comme
rvm use system --default
pour réinitialiser RVM par défaut et ne modifier les versions de Ruby que lorsque vous en avez besoin. - Revenez à la version du système uniquement lorsque vous exécutez Vagrant, alors exécutez
rvm use system
avant d'exécutervagrant
dans le même shell. - Identifiez tous les Ruby Gems dont Vagrant dépend et installez-les manuellement dans votre installation Ruby gérée par RVM. Ce serait une approche fastidieuse, cependant. Auparavant, il était possible d'installer Vagrant lui-même en tant que Ruby Gem, vous auriez donc pu l'installer dans votre installation Ruby gérée par RVM, mais cela n'est plus pris en charge.
Consultez la documentation des options de commande RVM pour plus de détails sur le contrôle de la version de Ruby que vous utilisez.