2011年9月14日水曜日

rails アプリで rake を実行するとエラーになる


某アプリを構築するときに、rake コマンドでDBの構築を行いました。
エラーになって構築できません。

# rake db:create:all
rake aborted!
uninitialized constant Rake::DSL
/usr/local/lib/ruby/gems/1.9.1/gems/aws-s3-0.6.2/lib/aws/s3/extensions.rb:206:in `const_missing_from_s3_library'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/tasklib.rb:8:in `'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/tasklib.rb:6:in `'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/tasklib.rb:3:in `'
/usr/local/lib/ruby/gems/1.9.1/gems/rdoc-3.9.4/lib/rdoc/task.rb:37:in `'

rake のバージョンが 0.9.2 になって、文法が変わったようで
以下のメッセージが目印になるようです。

uninitialized constant Rake::DSL

バージョンを確認すると、

# ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]

# rake --version
rake, version 0.8.7

エラーになった rake は、0.8.7 でした。
強制的に rake のバージョンを 0.9.2 にアップっぷ。

# gem install rake -v=0.9.2

# rake --version
rake, version 0.9.2

そしたら動きました。
逆もまたしかり。0.8.7 用の文法で 0.9.2 で実行すると動かないようです。

0 件のコメント:

コメントを投稿