Chef Ohai :как использовать только что установленный Ruby с пакетом gem _

Используя chefу меня есть простой рецепт, который устанавливает гем, пример:

gem_package "passenger" do
  version node['passenger']['version']
end

Я также хочу установить ruby ​​с другой поваренной книгой, это может быть Ruby 1.9.3 для некоторых серверов и Ruby Enterprise 1.8.7 для других. Поэтому я подумал, что могу использовать gem_binaryи ohai, чтобы сделать вот так:

gem_package "passenger" do
  version node['passenger']['version']
  gem_binary "#{languages['ruby']['bin_dir']/gem}"
end

Но потом начинаются проблемы, потому что languages['ruby']не меняется при установке нового ruby. Ruby Enterprise устанавливается в /opt/ruby-enterpriseи добавляется в PATHчерез /etc/profile.d/ree.sh, но ohaiне принимает его во время того же запуска, а подхватывает при следующем запуске.

При первом запуске ohaiсообщает, что languages['ruby']устанавливается в /opt/vagrant_ruby/bin/rubyпри использовании с предоставлением vagrantи chef_solo. И гем-пассажир установлен не в тот рубин.

Как я могу заставить ohaiраспознавать только что установленный ruby?

6
задан Evgeny 3 July 2012 в 15:42
поделиться