I am using Rails 3.1.0 and I am trying to deploy my application. I am using the Capistrano gem and it works but not for migrations. When it runs the rake db:migrate RAILS_ENV=production command it outputs the following:
(in /srv/www/MY_APPLICATION/releases/20120113203834)
rake aborted!
uninitialized constant Rake::DSL
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/tasklib.rb:8:in `<class:TaskLib>'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/tasklib.rb:6:in `<module:Rake>'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/tasklib.rb:3:in `<top (required)>'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/testtask.rb:4:in `<top (required)>'
/usr/local/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/test_unit/testing.rake:2:in `<top (required)>'
/usr/local/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/test_unit/railtie.rb:12:in `block in <class:TestUnitRailtie>'
/usr/local/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/railtie.rb:183:in `call'
/usr/local/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/railtie.rb:183:in `block in load_tasks'
/usr/local/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/railtie.rb:183:in `each'
/usr/local/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/railtie.rb:183:in `load_tasks'
/usr/local/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/engine.rb:396:in `block in load_tasks'
/usr/local/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/application/railties.rb:8:in `each'
/usr/local/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/application/railties.rb:8:in `all'
/usr/local/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/engine.rb:396:in `load_tasks'
/usr/local/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/application.rb:103:in `load_tasks'
/usr/local/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/railtie/configurable.rb:30:in `method_missing'
/srv/www/MY_APPLICATION/releases/20120113203834/Rakefile:7:in `<top (required)>'
/usr/local/lib/ruby/1.9.1/rake.rb:2373:in `load'
/usr/local/lib/ruby/1.9.1/rake.rb:2373:in `raw_load_rakefile'
/usr/local/lib/ruby/1.9.1/rake.rb:2007:in `block in load_rakefile'
/usr/local/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling'
/usr/local/lib/ruby/1.9.1/rake.rb:2006:in `load_rakefile'
/usr/local/lib/ruby/1.9.1/rake.rb:1991:in `run'
/usr/local/bin/rake:31:in `<main>'
I also tried to run the rake task directly in the shell but it doesn't work. I get the same errors.
What is the problem? How can I solve that?
Furthermore, my remote machine is running Ubuntu 10.04 and if I tail logs (tail -f /var/log/apache2/error.log) I get the following output each time I try to browse a Web page of my application:
cache: [GET /start] miss
By running the cap deploy:migrations command (related to the Capistrano gem) I noted the following:
...
* executing `deploy:migrate'
* executing "cd /srv/www/MY_APPLICATION/releases/20120113220043 && rake RAILS_ENV=production db:migrate"
servers: ["96.126.127.122"]
[96.126.127.122] executing command
*** [err :: 96.126.127.122] /usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils.rb:9: warning: already initialized constant RUBY
*** [err :: 96.126.127.122] /usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils.rb:86: warning: already initialized constant LN_SUPPORTED
** [out :: 96.126.127.122] (in /srv/www/MY_APPLICATION/releases/20120113220043)
*** [err :: 96.126.127.122] rake aborted!
...