Compass 使用chef solo安装ruby gem(指南针)

Compass 使用chef solo安装ruby gem(指南针),compass,rubygems,chef-infra,chef-solo,berkshelf,Compass,Rubygems,Chef Infra,Chef Solo,Berkshelf,有没有一种简单的方法可以让chef solo在没有自己食谱的情况下安装ruby gems 特别是,我想安装。似乎没有一本烹饪书,如果可能的话,我想避免写我自己的 例如,要安装npm软件包,我可以将其添加到我的solo.json配置中: "nodejs": { "npm_packages": [ { "name": "grunt-cli" }, { "name": "bower" }

有没有一种简单的方法可以让chef solo在没有自己食谱的情况下安装ruby gems

特别是,我想安装。似乎没有一本烹饪书,如果可能的话,我想避免写我自己的

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

"nodejs": {
    "npm_packages": [
        {
          "name": "grunt-cli"
        },
        {
          "name": "bower"
        }
    ]
},
(使用nodejs食谱)

我可以为ruby gems做一些类似的事情吗?

我想你可以使用:

gem_包“compass”do
gem_二进制'/usr/bin/gem'
操作:安装
结束
如果您只想使用节点属性来安装包,根据您的用例,也许可以帮助您完成这项工作。例如:

node['rvm']['global_gems']=[
{'name'=>'compass'}
]
我认为您可以使用:

gem_包“compass”do
gem_二进制'/usr/bin/gem'
操作:安装
结束
如果您只想使用节点属性来安装包,根据您的用例,也许可以帮助您完成这项工作。例如:

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

Chef既提供
gem_包
,也提供
Chef_gem
资源。用@sethvargo的话来说:

chef_gem和gem_包资源都用于安装Ruby 宝石。对于安装了chef客户端的任何计算机,都有 Ruby的两个实例。一个是标准的、全系统的 Ruby和另一个是专用实例,仅对 主厨是我的客户。使用chef_gem资源将gem安装到 专用于chef客户端的Ruby实例。使用 gem_安装所有其他gems的包资源(即安装gems (全系统)


Chef既提供
gem_包
,也提供
Chef_gem
资源。用@sethvargo的话来说:

chef_gem和gem_包资源都用于安装Ruby 宝石。对于安装了chef客户端的任何计算机,都有 Ruby的两个实例。一个是标准的、全系统的 Ruby和另一个是专用实例,仅对 主厨是我的客户。使用chef_gem资源将gem安装到 专用于chef客户端的Ruby实例。使用 gem_安装所有其他gems的包资源(即安装gems (全系统)


强制性“不推荐在服务器上使用rvm”:-“不推荐在服务器上使用rvm”:-)这里的正确答案是您需要编写自己的食谱。尝试使用厨师而不写烹饪书就像双手绑在背后,双腿被砍断一样。正确的答案是你需要自己写烹饪书。试图使用厨师而不写烹饪书,就像双手绑在背后,双腿被砍断一样。