我已经创建了这个Vagrantfile
的提供者部分:
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
放置食谱的地方。它似乎工作正常,但是,我找不到cookbooks依赖项所在的位置,我的意思是,在执行.\cookbooks
命令后不会创建berks install
文件夹。
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 provision
,wildfly
食谱未得到解决:
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
答案 0 :(得分:2)
您需要使用vagrant-berkshelf
插件,或使用berks vendor
命令将所有cookbook写入文件夹,然后指向Vagrant(这是插件在内部执行的操作)。 berks install
只会将它们下载到您的工作站,它不会将菜谱放在除Berkshelf之外的其他任何地方/格式的地方。