を使用しchef
て、宝石をインストールする簡単なレシピがあります。例:
gem_package "passenger" do
version node['passenger']['version']
end
また、別のクックブックで Ruby をインストールしたいと考えています。一部のサーバーでは Ruby 1.9.3 であり、他のサーバーでは Ruby Enterprise 1.8.7 である可能性があります。だから私は、次のようにこれを行うためgem_binary
に andを使用できると考えました:ohai
gem_package "passenger" do
version node['passenger']['version']
gem_binary "#{languages['ruby']['bin_dir']/gem}"
end
languages['ruby']
しかし、新しいルビーがインストールされたときに変更されないため、問題が発生します。Ruby Enterprise はviaにインストールし/opt/ruby-enterprise
て自分自身を追加しますが、同じ実行中には取得されませんが、次の実行で取得されます。PATH
/etc/profile.d/ree.sh
ohai
最初の実行では、プロビジョニングと使用時にインストールされるohai
ことを言います。そしてパッセンジャーの宝石は間違ったルビーにインストールされます。languages['ruby']
/opt/vagrant_ruby/bin/ruby
vagrant
chef_solo
ohai
新しくインストールされたルビーを認識させるにはどうすればよいですか?