ruby - 解析运行列表的 Recipe 时出错 : missing cookbooks: No such Cookbooks

标签 ruby vagrant chef-infra chef-recipe cookbook

我是第一次学习 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/

相关文章:

ruby - ruby 中的模块扩展和 class_eval

ruby - 了解从 Ruby 中的过程返回

ruby-on-rails - 如何从 Redis 缓存中获取对象而不是哈希?

chef-infra - 如何在 Chef 编译阶段中止当前配方?

mongodb - Chef cookbook 创建 MongoDB 用户

ruby - 优雅的 ruby 单衬垫

git - 如何让 ssh 代理转发在 vm 上使用多个帐户?

postgresql - Vagrant 中的postgres(ubuntu14.04)

git - Vagrant ansible git clone 权限错误

apt - 如何让 Chef 在运行其他 Recipe 之前运行 apt-get update