1

私はrakeを実行しようとしていますが、ruby gemsを更新してから、rakeが失敗しているようです。

今朝私は走った:

gem update --system

それ以来、rakeは次のエラーで失敗しています。

$ rake db:migrate                                                                                 
rake aborted!
undefined method `specifications' for "/usr/lib/ruby/gems/1.9.1":String
/home/cknadler/projects/ecommerce/Rakefile:7:in `<top (required)>'
(See full trace by running task with --trace)

私はこの問題について読んでいて、レールを壊すrake 0.9.xに問題があるようですが、私のrakeバージョンを確認すると、0.8.7を実行しています。

$ rake --version                                                                                    
rake, version 0.8.7

rakeをアンインストールして再インストールしたり、bundlerを使用したりしてみましたが、この時点でかなり行き詰まっています。前もって感謝します。

編集:

私のRakefile(私のアプリのルートディレクトリにあります)

# 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'

Ecommerce::Application.load_tasks
4

2 に答える 2

4

この問題を回避するために、バンドルされたバイナリバージョンのrakeを使用することをお勧めします。

bundle exec rake db:migrate

binstubs()を使用してバンドルをインストールした場合は、次のコマンドbundle install --binstubsと同等のbinバージョンのrakeを使用することもできます。bundle exec rake

bin/rake db:migrate

PS:すべてのユーザーにsudoを使用してRubyをインストールする代わりに、RVMを使用することもお勧めします。これにより、よりモジュール化されたルビーと宝石のインストールを維持できます。

于 2011-06-09T20:25:43.140 に答える
1

次の手順を実行して、rake 0.9.x(0.9.2がインストールされている場合があります)を削除する必要があります。

gem uninstall rake -v=0.9.2

そして、バンドル更新を実行します

bundle update

お役に立てば幸いです。

于 2011-06-10T02:15:09.590 に答える