加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – apt食谱不会安装在我的食谱中

发布时间:2020-12-16 22:44:40 所属栏目:百科 来源:网络整理
导读:我试图用Vagrant创建我的第一个Chef配方,并在第一步遇到问题.我的食谱的第一行是: include_recipe "apt" 但是当我尝试和流浪汉提供时,我收到以下错误: == default: [2014-09-21T07:15:42+00:00] WARN: MissingCookbookDependency:== default: Recipe `apt`
我试图用Vagrant创建我的第一个Chef配方,并在第一步遇到问题.我的食谱的第一行是:
include_recipe "apt"

但是当我尝试和流浪汉提供时,我收到以下错误:

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

这就是我的Vagrantfile的样子:

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

而divups default.rb文件如下所示:

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

但奇怪的是,如果我将它包含在chef.add_recipe“divups”上方的Vagrantfile文件中,我可以安装apt,但如果我尝试将其包含在我的自定义配方中,我会收到上面发布的错误.

有什么我错过或做错了吗?

解决方法

您正在从另一本食谱中调用食谱,因此您需要将其作为食谱元数据中的依赖项添加.

将以下行添加到metadata.rb文件中(在divups cookbook中):

depends "apt"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读