我是Chef的新手,我用它来配置a Vagrant box。到目前为止,我已经配置了像vim和git这样的基本配方,但是它产生了一长串基于依赖的错误。我一直都很乐于助人,但现在它要求提供Windows菜谱。我想保持这种轻量级,但我想知道如果它开始问我是否采取了错误的方法(我不希望这个盒子准备好Windows!)
我做错了什么,如果有的话?
错误:
==> default: [2014-09-17T17:29:30+00:00] INFO: Setting the run_list to ["recipe[vim]", "recipe[git]", "recipe[users::ruby_shadow]", "recipe[users::sysadmins]", "recipe[users::sysadmin_sudo]", "recipe[root_ssh_agent::ppid]", "recipe[ssh_known_hosts]", "recipe[homesick_agent::data_bag]"] from JSON
==> default: [2014-09-17T17:29:30+00:00] INFO: Run List is [recipe[vim], recipe[git], recipe[users::ruby_shadow], recipe[users::sysadmins], recipe[users::sysadmin_sudo], recipe[root_ssh_agent::ppid], recipe[ssh_known_hosts], recipe[homesick_agent::data_bag]]
==> default: [2014-09-17T17:29:30+00:00] INFO: Run List expands to [vim, git, users::ruby_shadow, users::sysadmins, users::sysadmin_sudo, root_ssh_agent::ppid, ssh_known_hosts, homesick_agent::data_bag]
==> default: [2014-09-17T17:29:30+00:00] INFO: Starting Chef Run for vagrant-ubuntu-trusty-32
==> default: [2014-09-17T17:29:30+00:00] INFO: Running start handlers
==> default: [2014-09-17T17:29:30+00:00] INFO: Start handlers complete.
==> default: [2014-09-17T17:29:31+00:00] ERROR: Running exception handlers
==> default: [2014-09-17T17:29:31+00:00] ERROR: Exception handlers complete
==> default: [2014-09-17T17:29:31+00:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
==> default: [2014-09-17T17:29:31+00:00] ERROR: Cookbook windows not found. If you're loading windows from another cookbook, make sure you configure the dependency in your metadata
==> default: [2014-09-17T17:29:28+00:00] INFO: Forking chef instance to converge...
==> default: [2014-09-17T17:29:31+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
Chef never successfully completed! Any errors should be visible in the
output above. Please fix your recipes so that they properly complete.
答案 0 :(得分:2)
你仍然需要Windows食谱,因为它是你正在使用的东西的依赖。它实际上不会使用该烹饪书中的任何食谱,但它确实需要加载。我建议使用Berkshelf,因为它会在幕后为您处理。