2014-01-19 66 views
2

當我運行> rake db:migrate時,在我的網頁出現此錯誤。它顯示錯誤,如:遷移正在進行中;運行'rake db:migrate RAILS_ENV = development'來解決這個問題。

rake aborted!

you have already activated rake 10.1.1 but you gemfile requires rake 10.1.0 using bundle exec may solve this.

  • 當我試圖用bundle exec rake db:migrate它的工作原理。
  • 而當我試着用rake db:migrate我顯示錯誤

我的問題是:

  • 是什麼bundle exec rake db:migraterake db:migrate之間的差異。
  • 每次我必須這樣做如果是的話爲什麼?
  • 我的項目有什麼問題。

謝謝。

回答

5

bundle exec rake db:migrate將運行rake db:migrate與您的Gemfile的環境。

你有一個錯誤,因爲你的Gemfile需要一個rake版本,但是你的系統上安裝了一個新版本。

默認情況下,rake將運行最新的可用版本,因此不匹配。

您應該始終在bundler管理的項目中使用bundle exec命令,我個人別名bxbundle exec

您還可以使用binstubs

1

嘗試運行bundle update

看來,你的Gemfile.lock與你的Gemfile不同步。

相關問題