【问题标题】:Chef require gems from recipe gives LoadError厨师需要食谱中的宝石会导致 LoadError
【发布时间】:2014-02-17 22:31:36
【问题描述】:

我在 ubuntu 虚拟服务器上使用 database cookbook

在尝试创建 postgresql 数据库时,脚本会抛出 LoadError: cannot load such file -- pg

我已经通过以下方式安装了pg

chef_gem 'pg' do
  action :install
end

但是 chef ruby​​ 二进制文件找不到我通过 chef_gem 安装的 gem。我安装的任何 gem 都会发生这种情况。

如何导入宝石?我错过了什么吗?

我正在跑步: 厨师客户端,版本 11.8.2 Ubuntu 12.04 LTS

【问题讨论】:

    标签: ruby chef-infra


    【解决方案1】:

    最简单的解决方案是将database::postgresql 配方包含到您的运行列表中。它反过来使用postgresql::ruby 配方将pg gem 安装到您的Omnibus Ruby 中。

    正如您在后一个秘籍中所见,实际安装可能会根据环境而有点复杂。不过既然已经处理好了,这里应该不成问题。

    【讨论】:

    • 在我的情况下,错误是由 rvm 食谱引起的,它的 gem_package 配方,一旦包含 chef_gem 就会开始表现得像 gem_package 并将 gem 安装到错误的位置,因此 Chef 不会'看不到他们。
    【解决方案2】:

    你可能需要一些包

    libxml2-devel
    libxslt
    libxslt-devel
    

    当我遇到类似错误时,安装这些 yum 包对我有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-18
      • 1970-01-01
      相关资源
      最近更新 更多