2011-07-29 4 views
0

Следуя инструкциям this, я применил шаги для развертывания до Heroku под номером 2.3.5 Deploying the demo app.Развертывание в Heroku

Когда я запускаю команду: > heroku rake db:migrate, я получаю следующее:

$ heroku rake db:migrate 
(in /app) 
rake aborted! 
uninitialized constant Rake::DSL 
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2482:in `const_missing' 
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/tasklib.rb:8:in `<class:Ta 
skLib>' 
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/tasklib.rb:6:in `<module:R 
ake>' 
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/tasklib.rb:3:in `<top (req 
uired)>' 
/app/.bundle/gems/ruby/1.9.1/gems/rdoc-3.8/lib/rdoc/task.rb:37:in `require' 
/app/.bundle/gems/ruby/1.9.1/gems/rdoc-3.8/lib/rdoc/task.rb:37:in `<top (require 
d)>' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks/documentation.r 
ake:2:in `require' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks/documentation.r 
ake:2:in `<top (required)>' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks.rb:15:in `load' 

/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks.rb:15:in `block 
in <top (required)>' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks.rb:6:in `each' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/tasks.rb:6:in `<top (
required)>' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/application.rb:215:in 
`require' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/application.rb:215:in 
`initialize_tasks' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/application.rb:139:in 
`load_tasks' 
/app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.9/lib/rails/application.rb:77:in 
`method_missing' 
/app/Rakefile:7:in `<top (required)>' 
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2373:in `load' 
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2373:in `raw_load_rakefile' 
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2007:in `block in load_rakefile' 
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling' 
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:2006:in `load_rakefile' 
/usr/ruby1.9.2/lib/ruby/1.9.1/rake.rb:1991:in `run' 
/usr/ruby1.9.2/bin/rake:31:in `<main>' 

Почему? И как я могу решить эту проблему?

Спасибо.

ответ

5

У меня есть блог об этом здесь:

http://codeglot.com/posts/13-you_have_already_activated_rake_0_9_2

У вас есть два варианта. Держите последнюю жемчужину и сделать это:

# Add your own tasks in files placed in lib/tasks ending in .rake, 
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. 

require File.expand_path('../config/application', __FILE__) 
require 'rake/dsl_definition' 
require 'rake' 

Или вам нужно указать старую версию грабли:

gem list 

Затем увидеть, какую версию рейки у вас есть.

gem uninstall rake -v=0.9.1 

Затем в Bundler указать старую версию:

gem 'rake', '0.8.7' 
Смежные вопросы