2014-09-21 16 views
5

Sto tentando di creare la mia prima ricetta Chef con Vagrant e ho riscontrato un problema al primo passaggio. La prima linea della mia ricetta è:La ricetta di apt non verrà installata nella mia ricetta

include_recipe "apt" 

Ma quando provo e vagrant provision ottengo il seguente errore:

==> 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) 

Questo è ciò che il mio Vagrantfile assomiglia:

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 

E il file default.rb divups assomiglia a questo:

include_recipe "apt" 
puts "So we made it this far..." 

Ciò che è strano è che posso installare apt se lo includo nel mio file Vagrantfile sopra chef.add_recipe "divups", ma se provo ad includere nella mia ricetta personalizzata, ottengo gli errori che ho postato sopra.

C'è qualcosa che mi manca o che non funziona?

risposta

8

Stai chiamando una ricetta da un altro libro di cucina, quindi devi aggiungerla come dipendenza dai metadati del tuo libro di cucina.

Aggiungere la seguente riga al file metadata.rb (nella divups libro di cucina):

depends "apt" 
+0

Che ha fatto il trucco. Grazie! – Ken

Problemi correlati