CHEF使用Not_If检查程序是否已安装

时间:2016-12-01 20:59:19

标签: ruby-on-rails chef

我正在尝试使我的CHEF脚本足够智能,如果已经安装了Rails,则不要尝试安装Rails。以下是我目前正在处理它的方式,但似乎可能有更好的方法。

execute 'install_rails' do
  user 'root'
  cwd '/root/'
  command "/root/.rbenv/shims/gem install rails -v #{node['rails']['version']}"
  not_if "rails -v | grep \'#{node['rails']['version']}\'"
end

有没有人有更好的方法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

为什么不使用普通的gem_package资源或来自poise-ruby的ruby_gem资源?