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 年以来发生了变化,因此我添加了新的位置和校验和以进行匹配。
我在 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 年以来发生了变化,因此我添加了新的位置和校验和以进行匹配。