使用chef
我有一个安装 gem 的简单配方,例如:
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 安装到via 中/opt/ruby-enterprise
并将其自身添加到PATH
via中,但在同一运行期间/etc/profile.d/ree.sh
不会被拾取ohai
,但会在下一次运行中被拾取。
在第一次运行时,ohai
说languages['ruby']
安装在/opt/vagrant_ruby/bin/ruby
使用vagrant
和chef_solo
配置时。乘客宝石安装到错误的红宝石中。
我怎样才能ohai
识别新安装的红宝石?