当我尝试使用流浪者和厨师来提供我的虚拟机时,我收到了这个错误:
==> default: ====================================
==> default: Error Resolving Cookbooks for Run List:
==> default: ====================================
==> default:
==> default: Missing Cookbooks:
==> default: ------------------
==> default: No such cookbook: windows
==> default:
==> default: Expanded Run List:
==> default: ------------------
==> default: * java
==> default:
==> default: Platform:
==> default: ---------
==> default: x86_64-linux
==> default:
我的流浪结构是:
VagrantFile
├───chef
│ ├───cookbooks
│ │ ├───apt
│ │ ├───java
│ ├───roles
│ │ ├───java-dev-workstation.rb
Vagrantfile
内容为:
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
config.vm.provision "chef_solo" do |chef|
chef.roles_path = "chef/roles"
chef.cookbooks_path = "chef/cookbooks"
chef.add_role "java-dev-workstation"
end
end
java-dev-workstation.rb
:
name "java-dev-workstation"
default_attributes(
# Because it's Oracle, we need to agree to the terms and conditions.
:java => {
:install_flavor => 'oracle',
:jdk_version => '8',
:accept_license_agreement => true,
:oracle => { "accept_oracle_download_terms" => true }
}
)
run_list(
"recipe[java]"
)
我正在使用Chef 12.18.31。
有什么想法吗?
答案 0 :(得分:1)
toEqual()
食谱取决于您未下载的java
食谱,因此无法继续。这就是为什么人们通常会自动使用Berkshelf或Policyfile系统作为这两种下载依赖项。
并回答你可能的下一个问题:是的,即使你没有使用Windows VM,你也需要依赖,我们没有办法做任何可选的依赖。
答案 1 :(得分:0)
同意之前的评论。所以不要手动添加所有依赖项使用vagrant-berkshelf插件 - https://soraco.co/quick-license-manager/?gclid=CjwKEAiAirXFBRCQyvL279Tnx1ESJAB-G-Qvy65J7uzmMUClDy0fltJKN7U9HtFex5akQ-H3r7YgFhoCa7nw_wcB
您需要做的一切: