27

「rake db:migrate」を実行しようとしていますが、このエラーが発生しています。

Andy:AcademyAir Andy$ rake db:migrate
/Users/Andy/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.2.2/lib/bundler/runtime.rb:197: warning: Insecure world writable dir /usr in PATH, mode 040777
rake aborted!
You have already activated rake 10.0.2, but your Gemfile requires rake 0.9.2.2. Using bundle exec may solve this.
/Users/Andy/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.2.2/lib/bundler/runtime.rb:31:in `block in setup'
/Users/Andy/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.2.2/lib/bundler/runtime.rb:17:in `setup'
/Users/Andy/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.2.2/lib/bundler.rb:116:in `setup'
/Users/Andy/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.2.2/lib/bundler/setup.rb:7:in `<top (required)>'
/Users/Andy/Desktop/AcademyAir/config/boot.rb:6:in `<top (required)>'
/Users/Andy/Desktop/AcademyAir/config/application.rb:1:in `<top (required)>'
/Users/Andy/Desktop/AcademyAir/Rakefile:5:in `<top (required)>'
(See full trace by running task with --trace)
4

8 に答える 8

49

これを試してbundle exec rake db:migrate

レーキ10.0.2ジェムを削除します

rakegemのバージョンを使用gem uninstall rakeして削除する10.0.2

そして、試してみてくださいrake db:migrate

エラーが発生する理由:gemリストに2つのバージョン(10.0.2と0.9.2.2)のrake gemがインストールされているため、このエラーが発生します。*

別の解決策はあなたができることですbundle update

于 2012-11-21T09:25:28.297 に答える
42

For me, I just ran bundle update and everything works right again.

于 2012-11-26T15:17:35.960 に答える
6

Gemfileを開いて次のように変更することで、これを解決できましgem 'rake', '~> 0.9.2.2'gem 'rake', '~> 10.0.1'

于 2012-11-23T19:33:19.110 に答える
4

Gemfileで、最新の rake バージョンを次のように明示的に設定します。

gem 'rake', '~> 10.0.1'

そして、実行します

$ bundle update rake

それから試してください

于 2012-11-27T07:16:17.877 に答える
3

私はちょうど同じ問題に遭遇しました。

  1. gemfilen gem 'rake', '~> 10.0.1' に挿入しました [あなたの場合は '10.0.2' である必要があります]
  2. gemfile ロックを削除しました
  3. rake db:migration を再度実行したところ、うまくいきました。

ここでこのヒントを得ました: Activated Ruby RAKE 10.0.1, require 10.0.0

更新:私の場合、レーキを複製していませんでした。私の宝石には10.0.1バージョンがあります。

于 2012-11-22T12:50:18.530 に答える
2

次を実行して同じ問題を解決しました。

bundle update

これにより、rake gem が最新バージョンに更新され、移行を実行できるようになります。

gemset を使用している場合: bundle installrake を更新した後に必ず実行して、ローカルの gemset も更新してください。

于 2012-12-13T18:39:31.623 に答える
1

システムからレーキを使用しているために発生します。(デフォルトでは最新バージョン) 解決策は、次のコマンドを使用することです。

bundle exec rake db:migrate

また、エイリアスを作成することもできます。このコマンドは大きすぎて書きにくいからです。

echo "alias be='bundle exec'" >> ~/.bash_profile
source ~/.bash_profile

次に、次の短いコマンドを使用できます。

be rake db:migrate
于 2012-12-18T16:16:30.243 に答える
0

gemfileとgemlockの両方にあるバージョンをコンソールに表示されているバージョン番号に変更します。

于 2012-12-04T09:29:24.320 に答える