2014-09-21 11 views
5

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?

Odpowiedz

8

Dzwonisz do receptury z innej książki kucharskiej, więc musisz dodać ją jako zależność w metadanych książki kucharskiej.

Dodaj następujący wiersz do pliku metadata.rb (w książce kucharskiej divups):

depends "apt" 
+0

To załatwiło sprawę. Dziękuję Ci! – Ken

Powiązane problemy