Грабли или любая другая команда рейка не работают должным образом

Привет, я делал некоторое кодирование и пытался

rake routes

и это сообщение об ошибке появилось, и я не знаю, что делать

rake aborted!
Gem::LoadError: You have already activated rake 10.4.2, but your Gemfile requires rake 10.4.0. Prepending `bundle exec` to your command may solve this.

/home/simplybel/.rvm/gems/[email protected]/gems/bundler-1.7.4/lib/bundler/runtime.rb:34:in `block in setup'
/home/simplybel/.rvm/gems/[email protected]/gems/bundler-1.7.4/lib/bundler/runtime.rb:19:in `setup'
/home/simplybel/.rvm/gems/[email protected]/gems/bundler-1.7.4/lib/bundler.rb:121:in `setup'
/home/simplybel/.rvm/gems/[email protected]/gems/bundler-1.7.4/lib/bundler/setup.rb:7:in `<top (required)>'
/home/simplybel/projects/gamification/config/boot.rb:4:in `<top (required)>'
/home/simplybel/projects/gamification/config/application.rb:1:in `<top (required)>'
/home/simplybel/projects/gamification/Rakefile:4:in `<top (required)>'
LoadError: cannot load such file -- bundler/setup
/home/simplybel/projects/gamification/config/boot.rb:4:in `<top (required)>'
/home/simplybel/projects/gamification/config/application.rb:1:in `<top (required)>'
/home/simplybel/projects/gamification/Rakefile:4:in `<top (required)>'
(See full trace by running task with --trace)

любая помощь с этим действительно будет оценена

Ответы

Ответ 1

У меня возникла проблема с старым проектом после запуска команды rails new MyNewProject

Чтобы исправить это в старом проекте, я просто зашел в файл Gemfile.lock и искал rake. Я нашел rake (10.3.2) и заменил его на rake (10.4.2), и это исправило его для меня.

Ответ 2

Обычно вам не нужно вручную редактировать gemfile.lock. И если вы удалите файл и перезапустите его с нуля, убедитесь, что версии ваших драгоценных камней в вашем gemfile указаны так, что вы получите те, которые вы ожидаете. Для этой ситуации:

$ bundle update rake

работал у меня.

Ответ 3

Эта ошибка возникает из-за того, что ваш файл gem использует другую версию рейка, поэтому вам нужно указать, какая из версий рейка вам нужна, поэтому это может помочь вам

 bundle exec rake routes

Ответ 4

Сегодня я столкнулся с этой проблемой. Я использовал RubyMine для создания нового проекта, и он установил rake 10.4.2. Для моей работы я должен использовать 10.3.2 для db: migrate.

Решение RubyMine: Чтобы устранить проблему в RubyMine, я открыл открытую конфигурацию запуска для db: migrate, перешел на вкладку Bundler и проверил "Запустите script в контексте пакета (bundle exec)"

Ответ 5

Если вам нужно использовать более старую версию, просто удалите новую версию:

gem uninstall rake --version=<newer version>

В вашем случае:

gem uninstall rake --version=10.4.2

Ответ 6

Вы можете удалить старую версию драгоценного камня, используя:

gem uninstall rake --version=[Here version that you want to delete]

После удаления просто используйте rake routes как обычно.

Ответ 7

  • вручную удалить файл gemfile.lock
  • выполнить установку пакета

Это исправило проблему для меня.

Ответ 8

Вероятно, вы захотите обновить свой файл gemfile.lock и изменить версию рейка с 10.4.0 до 10.4.2, и вы сможете продолжить работу так, как вы были до этой проблемы.

Ответ 9

Команда

bundle exec rake routes 

заставляет его работать, но лучше, если вы выберите нужную версию rake и измените ее в своем Gemfile.lock

Ответ 10

У меня было два ответа:

  • Временное решение:

bundle exec rake routes

  1. Постоянное решение

gem update rake и затем rake routes