Вы уже активировали rake 0.9.0, но ваш Gemfile требует рейка 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

Ответ 1

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

gem 'rake','0.8.7'

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

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

Ответ 2

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

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

bundle update rake

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

Ответ 3

Где вы сейчас используете команды рейка, такие как

rake db:migrate

Используйте это вместо:

bundle exec rake db:migrate

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

Ответ 4

Рейк 0.9.0 разрывает рельсы.

Смотрите здесь: Rake 0.9.0 'undefined метод' task ''

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

Ответ 5

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

gem 'rake', '0.9.0' 

то

bundle update rake

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

bundle exec rake db:migrate

Ответ 6

О, посмотри, это будущее. Для меня было жалобно, что я использовал rake 10.x, когда он хотел 0,9.5. Не совсем уверен, недостаточно знакомы с Ruby, чтобы действительно понять, что произошло с номерами последних версий, но я сделал это:

gem uninstall rake
gem install rake -v 0.9.5

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

Ответ 7

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

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

bundle install
bundle update

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

Ответ 8

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

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

И затем удалите rake-0.9.0

Ответ 9

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

gem 'rake', '0.8.7'

... до...

gem 'rake', '0.9.0'