【问题标题】:Chef PHP Cookbook RecipeNotFound: could not find recipe client for cookbook mysqlChef PHP Cookbook RecipeNotFound:找不到食谱 mysql 的食谱客户端
【发布时间】:2015-05-25 10:20:33
【问题描述】:

我是第一次使用 chef,试图了解食谱和食谱。

在配置我当前在角色文件中执行的标准 php 食谱后,我收到错误“mysql::client”失败:

run_list(
  "recipe[phpwebtatics]",
  "recipe[php]",
  "recipe[composer]"
)

override_attributes 'php' => {
'install_method' => "source",
'version' => "5.5",
'packages' => ["php55w", "php55w-devel", "php55w-pear", "php55w-cli", "php55w-pdo", "php55w-fpm", "php55w-intl", "php55w-mbstring", "php55w-mcrypt", "php55w-pecl-memcache", "php55w-pecl-xdebug", "php55w-process", "php55w-xml"]
}

(我已经编写了自己的 webtatics 食谱,它基本上获取 webtatics rpm):

# Go get web tatic
remote_file "#{Chef::Config[:file_cache_path]}/webtatic_repo_latest.rpm" do
    source "http://mirror.webtatic.com/yum/el6/latest.rpm"
    action :create
end

rpm_package "jmxtrans" do
    source "#{Chef::Config[:file_cache_path]}/webtatic_repo_latest.rpm"
    action :install
end 

我已将错误跟踪到该行:

include_recipe 'mysql::client' if configure_options =~ /mysql/

在 php 食谱中,但我不知道如何禁用它运行,我不能简单地替换该行,因为它来自 Berkshelf 并被覆盖。

显然 mysql:client 不再是安装 mysql 的有效方式,所以我不确定它为什么存在。这是一个错误还是我可以覆盖它?

谢谢

【问题讨论】:

    标签: php mysql chef-infra berkshelf


    【解决方案1】:

    6.0.0 版本开始,mysql 食谱现在是仅限图书馆使用的食谱。这意味着它不再提供食谱。您需要创建一个使用 mysql_client resource 的包装食谱并改用该食谱。

    【讨论】:

    • 感谢 coderanger - 但我什至不需要 mysql,我引用的行包含在 php 'source' 配方中。有没有办法禁止这条线运行?还是应该对公共 php 食谱进行更改?
    • php 食谱已过时。如果您将 mysql 食谱恢复到最终的 5.x 版本,它应该可以再次工作。
    • 感谢 coderanger - 这就是我的想法 - 只是不确定,因为我是厨师新手,而且 php 食谱似乎是一本相当受欢迎的食谱。
    • 请不要评论多年前的答案。改为打开一个新问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-06
    • 2015-02-25
    • 1970-01-01
    • 1970-01-01
    • 2021-11-01
    相关资源
    最近更新 更多