Я использую chef-solo для создания новой бродячей виртуальной машины. Это Убунту 12.10. Chef работает нормально в первый раз, но после этого не запускается.
Проблема в том, что для запуска chef-solo нужно использовать ruby 1.9.3, а одна из моих кулинарных книг устанавливает ruby 2.0.0. Он связывает новую версию ruby с /usr/local/ruby, поэтому системная версия по-прежнему доступна в /usr/bin/ruby.
Строка shebang в /usr/bin/chef-solo — #!/usr/bin/env ruby
.
Есть ли способ установить переменную среды в Vagrantfile перед запуском chef-solo? Или есть другой способ заставить бродягу запускать повар-соло, используя /usr/bin/ruby?
ОБНОВЛЕНИЕ: в настоящее время я использую следующую команду на виртуальной машине в качестве обходного пути:
sudo /usr/bin/ruby /usr/bin/chef-solo --config /tmp/vagrant-chef-1/solo.rb --override-runlist "my_runlist"
Я хотел бы заставить Vagrant запускать что-то подобное, когда я набираю vagrant provision
на хосте.