解决运行列表的食谱时出错:缺少食谱:没有这样的食谱

Error Resolving Cookbooks for runlist: missing cookbooks: No such Cookbooks

我是第一次学习 Chef。在这一点上,我试图通过 chef-client 运行 食谱而不是单一食谱。但我收到错误消息 "missing cookbooks"。我试过多次调试,你可以看到使用 tree 命令,很明显有一个名为 apache 的 cookbook。

我也尝试 运行 另一个食谱工作站,但出现了同样的错误

请帮忙。让我知道哪里出错了。

[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
│   │   └── test
│   │       └── recipes
│   │           └── default_test.rb
│   └── workstation
│       ├── Berksfile
│       ├── chefignore
│       ├── metadata.rb
│       ├── README.md
│       ├── recipes
│       │   ├── default.rb
│       │   └── setup.rb
│       ├── spec
│       │   ├── spec_helper.rb
│       │   └── unit
│       │       └── recipes
│       │           └── default_spec.rb
│       └── test
│           └── recipes
│               └── default_test.rb
├── generate
├── hello.rb
├── help
│   ├── Berksfile
│   ├── chefignore
│   ├── metadata.rb
│   ├── README.md
│   ├── recipes
│   │   └── default.rb
│   ├── spec
│   │   ├── spec_helper.rb
│   │   └── unit
│   │       └── recipes
│   │           └── default_spec.rb
│   └── test
│       └── recipes
│           └── default_test.rb
└── nodes
    └── localhost.json

24 directories, 28 files
[vagrant@localhost ~]$ sudo chef-client -z --runlist “apache::server”
[2017-08-08T13:16:05+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: ["“apache::server”"]

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

Missing Cookbooks:
------------------
No such cookbook: “apache

Expanded Run List:
------------------
* “apache::server”

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


Running handlers:
[2017-08-08T13:16:07+00:00] ERROR: Running exception handlers
Running handlers complete
[2017-08-08T13:16:07+00:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated in 01 seconds
[2017-08-08T13:16:07+00:00] FATAL: Stacktrace dumped to /root/.chef/local-mode-cache/cache/chef-stacktrace.out
[2017-08-08T13:16:07+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2017-08-08T13:16:07+00:00] ERROR: 412 "Precondition Failed"
[2017-08-08T13:16:07+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
[vagrant@localhost ~]$

试试

chef-client -z -o apache

您似乎复制了包括排版 (?) 引号在内的那一行。看看输出:

resolving cookbooks for run list: ["“apache::server”"]

因此请在您的 shell 命令中修复这些引号:

$ sudo chef-client -z --runlist "apache::server"