Вы уже активировали рейк 0.9.0, но ваш Gemfile требует рейка 0.8.7 - PullRequest
121 голосов
/ 21 мая 2011

Я пытаюсь запустить проект 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

Ответы [ 9 ]

241 голосов
/ 21 мая 2011

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

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

bundle update rake

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

42 голосов
/ 24 мая 2011

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

rake db:migrate

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

bundle exec rake db:migrate

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

23 голосов
/ 22 мая 2011

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

gem 'rake','0.8.7'

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

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

8 голосов
/ 23 мая 2011

Рейк 0.9.0 ломает рельсы.

Смотрите здесь: Рейк 0.9.0 'undefined method' task ''

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

7 голосов
/ 18 января 2013

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

gem 'rake', '0.9.0' 

затем

bundle update rake

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

bundle exec rake db:migrate
6 голосов
/ 04 декабря 2012

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

gem uninstall rake
gem install rake -v 0.9.5

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

5 голосов
/ 25 марта 2012

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

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

bundle install
bundle update

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

3 голосов
/ 25 мая 2011

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

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

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

3 голосов
/ 21 мая 2011

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

gem 'rake', '0.8.7'

... для ...

gem 'rake', '0.9.0'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...