【问题标题】:Unable to provision RabbitMQ on Fedora/VirtualBox using Vagrant and Chef Solo. ERR: "erlang >= R13B-03 is needed by rabbitmq-server-3.4.3.1.noarch"无法使用 Vagrant 和 Chef Solo 在 Fedora/VirtualBox 上配置 RabbitMQ。 ERR:“rabbitmq-server-3.4.3.1.noarch 需要 erlang >= R13B-03”
【发布时间】:2015-03-25 04:47:00
【问题描述】:

我正在尝试将 RabbitMQ(最新)配置到 Fedora 20 基础盒(VirtualBox 提供程序)。

我的食谱是这样的:

config.vm.provision "chef_solo" do |chef|
   ...
   chef.add_recipe "rabbitmq"
   chef.add_recipe "rabbitmq::mgmt_console"
   ...
end

我的 metadata.rb 有:

depends 'rabbitmq', '~> 3.8.0'

我的 Berksfile 有:

source "https://supermarket.chef.io"

metadata

cookbook 'rabbitmq', '~> 3.8.0'

运行“vagrant provision”后的错误是:

==> default: Running handlers:
==> default: [2015-01-26T16:21:20+00:00] ERROR: Running exception handlers
==> default: Running handlers complete
==> default: [2015-01-26T16:21:20+00:00] ERROR: Exception handlers complete
==> default: [2015-01-26T16:21:20+00:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
==> default: Chef Client failed. 31 resources updated in 178.337417046 seconds
==> default: [2015-01-26T16:21:20+00:00] ERROR: rpm_package[/var/chef/cache/rabbitmq-server-3.4.3-1.noarch.rpm] (rabbitmq::default line 112) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
==> default: ---- Begin output of rpm  -i /var/chef/cache/rabbitmq-server-3.4.3-1.noarch.rpm ----
==> default: STDOUT: 
==> default: STDERR: warning: /var/chef/cache/rabbitmq-server-3.4.3-1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID 056e8e56: NOKEY
==> default: error: Failed dependencies:
==> default:    erlang >= R13B-03 is needed by rabbitmq-server-3.4.3-1.noarch
==> default:    logrotate is needed by rabbitmq-server-3.4.3-1.noarch
==> default: ---- End output of rpm  -i /var/chef/cache/rabbitmq-server-3.4.3-1.noarch.rpm ----
==> default: Ran rpm  -i /var/chef/cache/rabbitmq-server-3.4.3-1.noarch.rpm returned 1
==> default: [2015-01-26T16:21:21+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)

我一直假设我不需要在 metadata.rb 中将 erlang 声明为直接依赖项 - 因为它被引用为来自 rabbitmq 食谱的依赖项。我确实尝试过这样做,但结果相同。感谢您的帮助。

【问题讨论】:

    标签: erlang rabbitmq vagrant chef-infra berkshelf


    【解决方案1】:

    您正在尝试使用 rabbitmq.com 软件包进行安装,该软件包需要一个名为“erlang”的软件包作为依赖项。将属性node['erlang']['install_method'] 设置为'esl' 以使用Erlang Solutions 包或将node['rabbitmq']['use_distro_version'] 设置为true 以使用RabbitMQ 的Fedora 包。

    【讨论】:

      猜你喜欢
      • 2016-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多