Próbuję stworzyć mój pierwszy przepis na szefa kuchni z Vagrantem i na samym początku napotkałem problem. Pierwszy wiersz mojego przepisu jest:Zdolny przepis nie zostanie zainstalowany w moim przepisie.
include_recipe "apt"
Ale gdy próbuję i vagrant provision
pojawia się następujący błąd:
==> default: [2014-09-21T07:15:42+00:00] WARN: MissingCookbookDependency:
==> default: Recipe `apt` is not in the run_list, and cookbook 'apt'
==> default: is not a dependency of any cookbook in the run_list. To load this recipe,
==> default: first add a dependency on cookbook 'apt' in the cookbook you're
==> default: including it from in that cookbook's metadata.
==> default: [2014-09-21T07:15:42+00:00] ERROR: No resource or method named `apt_installed?' for `Chef::Recipe "default"'
==> default: [2014-09-21T07:15:42+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
To właśnie mój Vagrantfile
wygląda następująco:
Vagrant.configure("2") do |config|
config.omnibus.chef_version = :latest
config.vm.box = "precise32"
config.vm.box_url = "http://files.vagrantup.com/precise32.box"
config.vm.network :private_network, ip: "192.168.42.42"
config.vm.synced_folder "./", "/var/www", group: "www-data", mount_options: ["dmode=777,fmode=664"]
config.vm.provision :chef_solo do |chef|
chef.cookbooks_path = "cookbooks"
chef.data_bags_path = "data_bags"
chef.add_recipe "divups"
end
end
I plik divups default.rb wygląda następująco:
include_recipe "apt"
puts "So we made it this far..."
Dziwne jest jednak to, że mogę zainstalować apt
, jeśli uwzględnię to w moim pliku Vagrantfile
powyżej chef.add_recipe "divups"
, ale jeśli spróbuję i uwzględnię w mojej niestandardowej recepturze, otrzymam błędy, które napisałem powyżej.
Czy jest coś, czego mi brakuje lub robię źle?
To załatwiło sprawę. Dziękuję Ci! – Ken