I am trying to setup a cookbook for RVM with Chef-solo.
My run_list looks like:
"run_list": [ "recipe[apt]", "recipe[build-essential]", "recipe[curl]", "recipe[users]", "recipe[rvm::vagrant]", "recipe[rvm::system]", "recipe[nginx::passenger]", "recipe[nginx::source]", "recipe[postgresql::server]", "recipe[postgresql::client]" ]
My attributes for RVM and Nginx:
"rvm": { "rubies": ["1.9.3-p0"], "global": ["1.9.3-p0"], "vagrant": { "system_chef_solo" : "/opt/ruby/bin/chef-solo" }, "gems": { "1.9.3-p0": [ {"name": "bundler"}, {"name": "passenger"}, {"name": "rake"} ] } }, "nginx": { "version": "1.2.5", "user": "deploy", "init_style": "init", "modules": [ "http_stub_status_module", "http_ssl_module", "http_gzip_static_module" ], "passenger": { "version": "3.0.18" }, "configure_flags": [ "--add-module=/var/lib/gems/1.9.1/gems/passenger-3.0.18/ext/nginx" ], "gzip_types": [ "text/plain", "text/html", "text/css", "text/xml", "text/javascript", "application/json", "application/x-javascript", "application/xml", "application/xml+rss" ] },
However, the conversion breaks with:
================================================================================ Error executing action `install` on resource 'gem_package[passenger]' ================================================================================ Gem::InstallError ----------------- passenger requires rake (>= 0.8.1) Resource Declaration: --------------------- # In /tmp/vagrant-chef-1/chef-solo-1/cookbooks/nginx/recipes/passenger.rb 53: gem_package 'passenger' do 54: action :install 55: version node["nginx"]["passenger"]["version"] 56: gem_binary node["nginx"]["passenger"]["gem_binary"] if node["nginx"]["passenger"]["gem_binary"] 57: end 58: Compiled Resource: ------------------ # Declared in /tmp/vagrant-chef-1/chef-solo-1/cookbooks/nginx/recipes/passenger.rb:53:in `from_file' gem_package("passenger") do version "3.0.18" package_name "passenger" provider Chef::Provider::Package::Rubygems retry_delay 2 action [:install] retries 0 recipe_name "passenger" cookbook_name :nginx end .... /opt/ruby/lib/ruby/gems/1.8/gems/chef-10.18.2/bin/../lib/chef/application/solo.rb:216:in `run_application' /opt/ruby/lib/ruby/gems/1.8/gems/chef-10.18.2/bin/../lib/chef/application.rb:72:in `run' /opt/ruby/lib/ruby/gems/1.8/gems/chef-10.18.2/bin/chef-solo:25 /opt/ruby/bin/chef-solo:19:in `load' /opt/ruby/bin/chef-solo:19 [2013-02-26T14:22:18+00:00] FATAL: Gem::InstallError: gem_package[passenger] (nginx::passenger line 53) had an error: Gem::InstallError: passenger requires rake (>= 0.8.1) Chef never successfully completed! Any errors should be visible in the output above. Please fix your recipes so that they properly complete.
What can be done?