Вы уже активировали 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.

Если я сделаю: "bundle install"

но Я получаю

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

при выполнении

rake db:migrate

9 ответов


во-первых, убедитесь, что рейк упоминается в вашем Gemfile. Если это не так, добавьте его и укажите версию "вы уже активированы".

затем вам нужно будет сказать bundle, чтобы обновить версию rake, которую он использует для вашего приложения:

bundle update rake

он обновит ваш Gemfile.lock для вас.


где вы в настоящее время используете команды rake, такие как

rake db:migrate

используйте этот код:

bundle exec rake db:migrate

так будет до тех пор, пока последняя версия rails и/или rake не будут хорошо работать вместе.


Я благодарю добры Ден, ура чувак. но делать мне было нечего. вот решение (для меня). Я добавил

gem 'rake','0.8.7'

на Gemfile, которого там не было, но моя новая версия rails автоматически устанавливает грабли (0.9.0).

после того, как я удалил rake0.9.0 by gem uninstall rake и после этого bundle update rake, Я могу создать и перенести базу данных.


грабли 0.9.0 ломает рельсы.

смотрите здесь: Rake 0.9.0 'неопределенный метод 'task''

использовать bundle exec rake вместо rake для запуска rake в правильной версии.


укажите версию, которую вы хотите в своем Gemfile.

gem 'rake', '0.9.0' 

затем

bundle update rake

вам нужно использовать bundle exec для запуска вашей задачи грабли

bundle exec rake db:migrate

О, смотрите, это будущее. Для меня, он говорил, У меня были грабли 10.X установлен, когда он хотел 0.9.5. Не совсем уверен, недостаточно знаком с Ruby, чтобы действительно копаться в том, что случилось с номерами последних версий, но я сделал:

gem uninstall rake
gem install rake -v 0.9.5

чтобы заставить систему установить версию rake, которую хотело приложение (для меня это был Octopress).


У меня была эта проблема (с другим камнем, который не был граблями), и я смог ее исправить

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

bundle install
bundle update

обратите внимание, что ключевое слово "sudo" не использовалось (т. е. sudo bundle install), поскольку это может поместить ваш драгоценный камень в каталоги, где ваше приложение rails может не искать.


Если я понимаю, что вы не спрашиваете, вам нужно открыть свой Gemfile файл и изменить строку...

gem 'rake', '0.8.7'

...в...

gem 'rake', '0.9.0'

добавьте это в свой Gemfile

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

и затем удалить грабли-0.9.0