我最近一直在尝试使用Chef来配置我的本地开发环境,但是我无法让Chef知道cookbook的位置。我想知道是否有人可以帮助阐明我失踪的是什么?
我一直在使用以下命令设置所有内容的文件夹中运行chef-solo:
chef-solo -c solo.rb
这会产生以下输出:
启动Chef Client,版本12.4.1编译Cookbook ......
运行处理程序:[2015-07-31T11:52:26 + 01:00]错误:运行异常 处理程序运行处理程序完成[2015-07-31T11:52:26 + 01:00]错误: 异常处理程序完成Chef Client失败。 0个资源已更新 14.12488秒[2015-07-31T11:52:26 + 01:00]致命:Stacktrace转储到c:/chef/chef-stacktrace.out [2015-07-31T11:52:26 + 01:00]致命: Chef :: Exceptions :: CookbookNotFound:找不到Cookbook sublime-text。 如果你正在加载来自另一本食谱的崇高文本,请相信你 配置元数据中的依赖关系
我已经指定了在solo.rb文件中找到cookbook的位置,如下所示:
root = File.absolute_path(File.dirname(__FILE__))
file_cache_path root
cookbook_path root + "/cookbooks"
json_attribs root + "/solo.json"
solo.json文件如下所示:
{
"run_list": [
"recipe[sublime-text::default]"
]
}
文件夹结构如下:
Chef
-- cookbooks
-- sublime-text
-- solo.json
-- solo.rb
我是否缺少一些东西来正确指定烹饪书的路径?或者甚至更好,这甚至是使用chef-solo配置一台机器的正确方法吗?
非常感谢。
答案 0 :(得分:1)
我宁愿在本地模式下使用厨师 - 客户端 - 我也有与烹饪书单独的问题。
如果你想知道如何使用chef-client,这里是命令:
C:\opscode\chef\bin\chef-client --local -j run_list.json
我从带有cookbook的目录中运行它:
Script
- run_list.json
- cookbooks
- windows-master
- chef_handler
- my_cookbook
请记住从" Script"运行此脚本。目录