用厨师独奏安装红宝石宝石(指南针)

时间:2016-01-12 10:32:23

标签: rubygems chef compass chef-solo berkshelf

有没有一种简单的方法来安装没有自己的食谱的厨师独奏的红宝石?

特别是,我想安装。似乎没有相关的食谱,如果可能的话,我想避免自己编写。

例如,要安装npm软件包,我可以将其添加到我的solo.json配置中:

"nodejs": {
    "npm_packages": [
        {
          "name": "grunt-cli"
        },
        {
          "name": "bower"
        }
    ]
},

(使用nodejs cookbook https://supermarket.chef.io/cookbooks/nodejs

我能为ruby gems做类似的事吗?

2 个答案:

答案 0 :(得分:2)

我认为您可以使用gem_package resource

gem_package 'compass' do
  gem_binary '/usr/bin/gem'
  action :install
end

如果您想仅使用节点属性来安装软件包,那么the rvm cookbook可能可以帮助您,具体取决于您的用例。例如:

node['rvm']['global_gems'] = [
  { 'name'    => 'compass' }
]

答案 1 :(得分:0)

Chef提供gem_package以及chef_gem资源。在@sethvargo的here中的话:

  

chef_gem和gem_package资源都用于安装Ruby   宝石。对于安装了chef-client的任何机器,都有   两个Ruby实例。一个是标准的,系统范围的实例   Ruby和另一个是专用的实例   厨师 - 客户。使用chef_gem资源将gem安装到   专用于chef-client的Ruby实例。使用   gem_package资源安装所有其他宝石(即安装宝石   全系统)。