2011-07-29 22 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

あなたは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 

次に、あなたのバンドラに古いバージョンの指定:このリンクは役立つかもしれ

gem 'rake', '0.8.7'