我是第一次学习 Chef。此时,我试图通过 Chef 客户运行 Recipe 而不是单一 Recipe 。但我收到错误消息说“缺少 Recipe ”。我尝试过多次调试,正如您使用tree命令所看到的,很明显有一个名为apache的cookbook。
我也尝试运行其他 Recipe 工作站,但出现了相同的错误
请帮忙。并让我知道我哪里出错了。
[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 ~]$
最佳答案
您似乎已经复制了该行,包括打印的(?)引号。看一下输出:
resolving cookbooks for run list: ["“apache::server”"]
因此请修复 shell 命令中的这些引号:
$ sudo chef-client -z --runlist "apache::server"
关于ruby - 解析运行列表的 Recipe 时出错 : missing cookbooks: No such Cookbooks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45569675/