有没有一种简单的方法来安装没有自己的食谱的厨师独奏的红宝石?
特别是,我想安装compass。似乎没有相关的食谱,如果可能的话,我想避免自己编写。
例如,要安装npm软件包,我可以将其添加到我的solo.json
配置中:
"nodejs": {
"npm_packages": [
{
"name": "grunt-cli"
},
{
"name": "bower"
}
]
},
(使用nodejs cookbook https://supermarket.chef.io/cookbooks/nodejs)
我能为ruby gems做类似的事吗?
答案 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资源安装所有其他宝石(即安装宝石 全系统)。