web-dev-qa-db-ja.com

すでにrake 0.9.0をアクティブにしていますが、Gemfileにはrake 0.8.7が必要です

Railsプロジェクトを実行しようとしていますが、

Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

行う場合:「バンドルインストール」

しかし、私は得ています

You have already activated rake 0.9.0, but your Gemfile requires rake 0.8.7

しながら

rake db:migrate
121
Mujah Maskey

ドブリーデンに感謝します。しかし、もう少ししなければなりませんでした。ここに解決策があります(私にとってはうまくいきます)。私が追加しました

gem 'rake','0.8.7'

gemfileにはありませんでしたが、私の新しいバージョンのRailsは自動的にrake(0.9.0)をインストールします。

gem uninstall rakeでrake0.9.0を削除した後、bundle update rakeを実行した後、データベースを作成および移行できます。

23
Mujah Maskey

まず、Gemfileでrakeが言及されていることを確認します。そうでない場合は、追加して、「すでにアクティブ化されている」バージョンを指定します。

次に、アプリに使用しているレーキバージョンを更新するようbundleに指示する必要があります。

bundle update rake

Gemfile.lockが更新されます。

242
danneu

現在、次のようなrakeコマンドを使用している場所

rake db:migrate

代わりにこれを使用してください:

bundle exec rake db:migrate

これは、最新バージョンのRailsおよび/またはrakeがうまく機能するまで続きます。

42
Floyd Price

Rake 0.9.0は​​Railsを破壊します。

こちらをご覧ください: Rake 0.9.0 'undefined method' task ''

正しいバージョンでrakeを実行するには、rakeの代わりにbundle exec rakeを使用します。

8
sj26

Gemfileで必要なバージョンを指定します。

gem 'rake', '0.9.0' 

それから

bundle update rake

bundle execを使用してrakeタスクを実行する必要があります

bundle exec rake db:migrate
7
hacksignal

ああ、それは未来です。私にとっては、0.9.5が必要なときにrake 10.xがインストールされていると不平を言っていました。 Rubyに精通していないため、最近のバージョン番号に何が起こったのかを実際に詳しく調べることはできませんが、私がしたことは:

gem uninstall rake
gem install rake -v 0.9.5

システムがアプリが望んだレーキのバージョンをインストールするように強制します(私にとってはOctopressでした)。

6
subdigit

私はこの問題を抱えていました(レーキではない別のgemを使用)で修正できました

gem uninstall <complaining gem>
gem install <complaining gem>

bundle install
bundle update

キーワード「Sudo」は使用されなかった(つまり、Sudoバンドルのインストール)ことに注意してください。これにより、Railsアプリが検索されないディレクトリにgemが配置される可能性があります。

5
glacier

あなたが求めていないことを理解したら、Gemfileファイルを開いて行を変更する必要があります...

gem 'rake', '0.8.7'

...に...

gem 'rake', '0.9.0'
3
Olivier L.

これをGemfileに追加します

# Rake 0.9.0 break Rails.
gem "rake", "!= 0.9.0"

そして、アンインストールrake-0.9.

3
karlballard