使用Chef加载NPM包

使用Chef加载NPM包,npm,chef-infra,Npm,Chef Infra,我是Chef的新手,我学习了本教程(),其中创建了4个文件:install.sh、solo.json、solo.rb和default.rb。(default.rb位于目录coobooks/zombie/recipes/下,所有其他文件位于顶级chef目录下)。我运行了install.sh脚本,该脚本基本上安装ruby和chef,然后发出“chef solo-c solo.rb-j solo.json”,但出现以下错误: “错误:未找到Cookbook npm。如果从另一本Cookbook加载np

我是Chef的新手,我学习了本教程(),其中创建了4个文件:install.sh、solo.json、solo.rb和default.rb。(default.rb位于目录coobooks/zombie/recipes/下,所有其他文件位于顶级chef目录下)。我运行了install.sh脚本,该脚本基本上安装ruby和chef,然后发出“chef solo-c solo.rb-j solo.json”,但出现以下错误:

“错误:未找到Cookbook npm。如果从另一本Cookbook加载npm,请确保在元数据中配置依赖项。”

我认为我错误地引用了npm包,或者以错误的方式包含了特定的节点包(Mocha)。有人能给我一些关于这个错误的指导吗?谢谢


我的default.rb文件:

package 'nodejs'
package 'npm'

include_recipe "npm"

npm_package "default" do
  enable true
end

npm_package "mocha@1.17.1"

我的solo.json文件:

{
    "run_list": [ "recipe[npm]", "recipe[zombie::default]" ]
}

您需要将npm cookbook添加到
cookbooks/
目录。你可以从我这儿拿


顺便说一句,该教程很棒,有助于加深对厨师生态系统的基本了解。

我同意这是一个很好的链接,但现在已经过时了。要了解有关使用chef solo的更现代的解释,请查阅knife solo项目:它包含了诸如Berkself之类的现代工具,用于管理cookbook依赖项。最后,主厨索洛开始失宠了。Chef 11发布了新的“本地模式”操作风格(利用Chef zero嵌入式Chef服务器):感谢您的回复。你的意思是从my/cookbooks目录下下载并解压每个cookbooks并将其保存在目录树下吗?如果是这样的话,这是否意味着运行我的脚本的每台机器/用户都必须在他们的机器上签出所有这些烹饪书文件?是的,这是完全正确的。对马克的尖刀来说,索洛是个“穷人”厨师。chef solo是为一次配置一台机器而创建的。如果您想更进一步,我创建chef solo是为了在该教程的基础上演示如何使用chef solo配置mac。@JJAsghar漂亮的错误消息
您需要安装chef dumb
lol!