Установил Vagrant через sudo apt-get install vagrant
, и каждый раз, когда я пытаюсь запустить какую-нибудь команду vagrant, такую как vagrant init precise32 http://files.vagrantup.com/precise32.box
, я получаю следующую ошибку:
/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>'
Не уверен, почему здесь участвует rvm, но да ладно, я надеюсь, что вы, ребята, поможете мне решить эту проблему.
Когда вы установили Vagrant, используя apt-get
, он установил бы все его необходимые зависимости для стандартной версии Ruby в Ubuntu. Но ваше сообщение об ошибке указывает на то, что при запуске vagrant
он пытается использовать версию Ruby (и ее Gems), которая управляется RVM, а не системную версию, а в вашей версии Ruby отсутствует хотя бы одна из его зависимостей. , log4r
.
Я думаю, что у вас есть несколько вариантов:
rvm use system --default
для сброса RVM по умолчанию и изменяя только версии Ruby. когда вам нужно. rvm use system
перед запуском vagrant
в той же оболочке. См. Документацию по опциям команды RVM для более подробной информации о том, какую версию Ruby вы используете.
У меня дома была установлена старая пользовательская среда ruby (~/.rbenv
), и это явно переопределяет все системные пакеты Ruby по умолчанию. Когда я удалил эту папку, Vagrant начал работать просто отлично.
У меня тоже была эта проблема. Как оказалось, по-видимому, вам нужен ruby 1.9.3. Я установил Vagrant из исходного кода с 2.0.0, и вышеупомянутая ошибка происходила до тех пор, пока я не переустановил гем с ruby 1.9.3.