3
安裝紅寶石寶石使用廚師10.24.0,包括database
cookbook時,錯誤執行對資源 'chef_gem [MySQL的]' 行動'install` - 通過廚師獨奏
include_recipe "mysql::server"
include_recipe "database::mysql"
的mysql
寶石安裝失敗,具有以下的輸出:
[2013-03-10T19:54:29+00:00] INFO: Processing chef_gem[mysql] action install (mysql::ruby line 36)
================================================================================
Error executing action `install` on resource 'chef_gem[mysql]'
================================================================================
NoMethodError
-------------
undefined method `last' for #<Gem::AvailableSet:0x00000002b25be0>
Cookbook Trace:
---------------
/tmp/vagrant-chef-1/chef-solo-1/cookbooks/mysql/recipes/ruby.rb:36:in `from_file'
/tmp/vagrant-chef-1/chef-solo-1/cookbooks/database/recipes/mysql.rb:20:in `from_file'
/tmp/vagrant-chef-1/chef-solo-1/cookbooks/scafandru/recipes/database.rb:11:in `from_file'
Resource Declaration:
---------------------
# In /tmp/vagrant-chef-1/chef-solo-1/cookbooks/mysql/recipes/ruby.rb
36: chef_gem "mysql"
Compiled Resource:
------------------
# Declared in /tmp/vagrant-chef-1/chef-solo-1/cookbooks/mysql/recipes/ruby.rb:36:in `from_file'
chef_gem("mysql") do
provider Chef::Provider::Package::Rubygems
action :install
retries 0
retry_delay 2
package_name "mysql"
cookbook_name :mysql
recipe_name "ruby"
end
================================================================================
Recipe Compile Error in /tmp/vagrant-chef-1/chef-solo-1/cookbooks/scafandru/recipes/database.rb
================================================================================
NoMethodError
-------------
chef_gem[mysql] (mysql::ruby line 36) had an error: NoMethodError: undefined method `last' for #<Gem::AvailableSet:0x00000002b25be0>
Cookbook Trace:
---------------
/tmp/vagrant-chef-1/chef-solo-1/cookbooks/mysql/recipes/ruby.rb:36:in `from_file'
/tmp/vagrant-chef-1/chef-solo-1/cookbooks/database/recipes/mysql.rb:20:in `from_file'
/tmp/vagrant-chef-1/chef-solo-1/cookbooks/scafandru/recipes/database.rb:11:in `from_file'
Relevant File Content:
----------------------
/tmp/vagrant-chef-1/chef-solo-1/cookbooks/mysql/recipes/ruby.rb:
29: include_recipe "build-essential"
30: include_recipe "mysql::client"
31:
32: node['mysql']['client']['packages'].each do |mysql_pack|
33: resources("package[#{mysql_pack}]").run_action(:install)
34: end
35:
36>> chef_gem "mysql"
37:
[2013-03-10T19:54:31+00:00] ERROR: Running exception handlers
[2013-03-10T19:54:31+00:00] ERROR: Exception handlers complete
[2013-03-10T19:54:31+00:00] FATAL: Stacktrace dumped to /tmp/vagrant-chef-1/chef-stacktrace.out
[2013-03-10T19:54:31+00:00] FATAL: NoMethodError: chef_gem[mysql] (mysql::ruby line 36) had an error: NoMethodError: undefined method `last' for #<Gem::AvailableSet:0x00000002b25be0>
Chef never successfully completed! Any errors should be visible in the
output above. Please fix your recipes so that they properly complete.
試圖減少可能導致安裝失敗的所有變量,我丟棄database
食譜,並在約束到RubyGem安裝10 recipe
include_recipe "mysql::server"
include_recipe "mysql::ruby"
但是錯誤是等價的。
同樣適用於簡單的gem_package
install:
gem_package 'mysql' do
options "--no-ri --no-rdoc"
end
我的想法,任何人都可以請提供一些線索到這個?
這似乎與v 2.1.9再次出現 – 2013-10-22 15:01:37