【问题标题】:Chef solo with berkshelf: cookbook not resolved厨师独奏与berkshelf:食谱未解决
【发布时间】:2017-11-30 23:35:23
【问题描述】:

我创建了这个Vagrantfile 的provier 部分:

config.vm.provision "chef_solo" do |chef|
    chef.add_recipe "wildfly"
end

我收到此错误:

==> default: Error Resolving Cookbooks for Run List:
==> default:
==> default: Missing Cookbooks:
==> default: ------------------
==> default: No such cookbook: wildfly

所以,我创建了一个Berksfile 和一个metadata.rb 文件:

Berksfile:

source 'https://supermarket.chef.io'
metadata

metadata.rb:

name 'webapi'
maintainer 'The Authors'
maintainer_email 'you@example.com'
license 'all_rights'
description 'Installs/Configures webapi'
long_description 'Installs/Configures webapi'
version '0.1.0'

depends 'java_se', '~> 9.0.1'
depends 'wildfly', '~> 0.4.0'

那么,我执行了berks install 命令。我发现的第一个问题是我没有完全检测到berks 将食谱放在哪里。似乎它工作正常,但是,我没有找到食谱依赖项的位置,我的意思是,执行berks install 命令后没有创建.\cookbooks 文件夹。

Resolving cookbook dependencies...
Fetching 'olingo' from source at .
Fetching cookbook index from https://supermarket.chef.io...
Using apt (6.1.4)
Using homebrew (4.2.0)
Using java (1.50.0)
Using java_se (9.0.1)
Using ohai (5.2.0)
Using olingo (0.1.0) from source at .
Using wildfly (0.4.0)
Using yum (5.1.0)
Using windows (3.4.0)

不管怎样,我又执行了vagrant provisionwildfly 食谱没有解决:

The cookbook path 'D:/projects/swiller/querydsl/olingo/infrastructure/cookbooks' doesn't exist. Ignoring...
Running provisioner: chef_solo...
==> default: Error Resolving Cookbooks for Run List:
==> default:
==> default: Missing Cookbooks:
==> default: ------------------
==> default: No such cookbook: wildfly

【问题讨论】:

    标签: vagrant chef-infra berkshelf


    【解决方案1】:

    您要么需要使用vagrant-berkshelf 插件,要么使用berks vendor 命令将所有食谱写入一个文件夹,然后将Vagrant 指向该文件夹(这是插件内部所做的)。 berks install 只会将它们下载到您的工作站,它不会将食谱放在 Berkshelf 以外的任何东西都可以理解的位置/格式中。

    【讨论】:

      猜你喜欢
      • 2015-11-27
      • 1970-01-01
      • 2015-10-23
      • 1970-01-01
      • 1970-01-01
      • 2015-11-17
      • 1970-01-01
      • 2013-11-03
      • 1970-01-01
      相关资源
      最近更新 更多