berkshelf + 厨师:找不到食谱的食谱服务器 mysql

berkshelf + chef: could not find recipe server for cookbook mysql

我在 Bookshelf 中使用 vagrant (1.8.4)。

我也安装了插件:

vagrant plugin install vagrant-omnibus
vagrant plugin install vagrant-berkshelf
vagrant plugin install vagrant-cachier

一次 运行 vagrant up 我得到:

==> default: ================================================================================
==> default: Recipe Compile Error
==> default: ================================================================================
==> default: 
==> default: Chef::Exceptions::RecipeNotFound
==> default: --------------------------------
==> default: could not find recipe server for cookbook mysql

Vagrantfile 块:

  config.vm.provision "chef_solo" do |chef|
      chef.add_recipe "java"
      chef.add_recipe "maven"
      chef.add_recipe "postgresql::server"
      chef.add_recipe "mysql::server"
      chef.add_recipe "sqlite"
      chef.add_recipe "groovy"

Berksfile内容:

source "https://supermarket.getchef.com"

cookbook "java"
cookbook "postgresql"
cookbook "mysql"
cookbook "sqlite"
cookbook "maven"
cookbook "groovy"

我看过这个:Chef mysql opscode-cookbooks desn't work: "could not find recipe ruby for cookbook mysql" 但我仍然不清楚如何在我的用例中修复它。

有关完整的 Vagrantfile 内容,请参阅:https://github.com/p6spy/p6spy/blob/master/Vagrantfile

我该如何解决?

我克隆了一份您的 repo 并进行了以下更改:

伯克斯文件:

source 'https://supermarket.getchef.com'

cookbook 'java',       '= 1.29.0'
cookbook 'postgresql', '= 3.4.12'
cookbook 'mysql',      '= 5.6.3'
cookbook 'sqlite',     '= 1.1.0'
cookbook 'maven',      '= 1.2.0'
cookbook 'groovy',     '= 0.0.1'

我将厨师食谱的版本固定为 2014 年 11 月左右的版本。这是基于您 Vagrantfile.

的提交

由于您没有指定版本,您将始终获得每本食谱的最新版本。如果你想使用更高版本,那么这将需要你的食谱声明在你的 Vagrantfile 中更改,以匹配每本食谱提供的当前食谱。如前所述,mysql 从那时起已经更新,maven 食谱也已更新。事实上,除了 groovy 和 sqlite 之外,大多数现在是 deprecated.

Vagrantfile 片段:

"groovy" => {
  "version"  => "2.1.9",
  "url"      => "https://dl.bintray.com/groovy/maven/groovy-binary-2.1.9.zip",
  "checksum" => "d9cb8d54680d508ac1eb928f8d0cfb1fb1bec7843bb405ea9a7d18f512b10ba6"
}

获取 groovy 的 URL 自 2014 年以来发生了变化,因此我添加了新的位置和校验和以进行匹配。