验证是否已安装操作系统软件包

时间:2016-06-29 15:05:59

标签: ruby-on-rails ruby linux capistrano

我需要验证在使用capistrano部署后安装了OS软件包(它是一个rails项目,如果它很重要)。我想支持主要的Linux发行版和OS X.幸运的是,包的名称在所有平台上都是一样的。

我想过添加一个capistrano任务,比如(未经测试的代码):

%w(yum apt-get brew).each do |manager|
  path = `which #{manager}`.chomp
  if path && path.size > 0
    `#{path} install -y #{PKG}`
    return
  end
end

this question的启发。

有更好的方法吗? 我考虑过检查uname,但它并不总是有发行版,只是" Linux"。我还想过在lsb_release中使用/etc/*-release或列出文件,但并非所有发行版都支持它(例如centos)。

0 个答案:

没有答案