Chef infra 厨师无法解析我的烹饪书名称。连名字都错了

Chef infra 厨师无法解析我的烹饪书名称。连名字都错了,chef-infra,Chef Infra,我想把我的一个食谱写进食谱里。厨师找不到它。下面是我的树。我试过的命令是 sudo chef-client --local-mode -runlist "recipe[apache::server]" 我甚至试过用烹饪书的路径 sudo chef-client --local-mode -runlist "recipe[cookbooks/apache::server]" 下面是我得到的错误。奇怪的是,它在错误中显示的烹饪书的名称是unlist,这不是我的烹饪书的名称。我的食谱名字是apac

我想把我的一个食谱写进食谱里。厨师找不到它。下面是我的树。我试过的命令是

sudo chef-client --local-mode -runlist "recipe[apache::server]"
我甚至试过用烹饪书的路径

sudo chef-client --local-mode -runlist "recipe[cookbooks/apache::server]"
下面是我得到的错误。奇怪的是,它在错误中显示的烹饪书的名称是
unlist
,这不是我的烹饪书的名称。我的食谱名字是apache

[vagrant@localhost ~]$ sudo chef-client --local-mode -runlist "recipe[apache::server]"
[2017-06-18T07:24:32+00:00] WARN: No config file found or specified on command line, using command line options.
Starting Chef Client, version 12.14.89
resolving cookbooks for run list: ["unlist"]

================================================================================
Error Resolving Cookbooks for Run List:
================================================================================

Missing Cookbooks:
------------------
No such cookbook: unlist

Expanded Run List:
------------------
* unlist

Platform:
---------
x86_64-linux


Running handlers:
[2017-06-18T07:24:34+00:00] ERROR: Running exception handlers
Running handlers complete
[2017-06-18T07:24:34+00:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated in 01 seconds
[2017-06-18T07:24:34+00:00] FATAL: Stacktrace dumped to /root/.chef/local-mode-cache/cache/chef-stacktrace.out
[2017-06-18T07:24:34+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2017-06-18T07:24:34+00:00] ERROR: 412 "Precondition Failed"
[2017-06-18T07:24:34+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
树形结构

[vagrant@localhost ~]$ tree
.
|-- cookbooks
|   `-- apache
|       |-- Berksfile
|       |-- chefignore
|       |-- metadata.rb
|       |-- README.md
|       |-- recipes
|       |   |-- default.rb
|       |   `-- server.rb
|       |-- spec
|       |   |-- spec_helper.rb
|       |   `-- unit
|       |       `-- recipes
|       |           |-- default_spec.rb
|       |           `-- server_spec.rb
|       `-- test
|           `-- recipes
|               |-- default_test.rb
|               `-- server.rb
|-- delete.rb
|-- hello.rb
|-- hellotodelet.rb
`-- nodes
    `-- localhost.json

好的,我想我找到了答案,但只是部分。因此,我已经在不使用
运行列表的情况下单独执行了配方。因此,安装了软件包,并启动和运行了服务

sudo chef-client --local-mode cookbooks/apache/server.rb
所以它不起作用。不知道为什么。我以为食谱应该是幂等的。无论如何,后来我写了另一个卸载和禁用软件包和服务的方法。当我重新运行
服务器.rb
时,它工作了


仍然不确定,尽管它无法选择第一次。但是,一次又一次地运行它会使它以同样的方式工作。因此,执行一个菜谱和执行烹饪书中的菜谱之间肯定有一些区别。

问题是,你有一个破折号,你需要两个破折号:
--runlist

这不正确,你只是回避了这个问题。是的,我后来发现了这一点,并意识到了我的错误。Thnx