Почему в моей среде требуется запустить bundle exec? - PullRequest
15 голосов
/ 12 ноября 2011

Всякий раз, когда я запускаю команду rake (т.е. rake routes), я получаю эту ошибку:

You have already activated rake 0.9.2.2, but your Gemfile requires rake 0.9.2. Using bundle exec may solve this.

Если я запускаю bundle exec rake routes, это работает.

Я хочу иметь возможностьпросто rake routes без необходимости запуска bundle exec rake routes.

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

Также в моем gemfile я указал gem 'rake', '0.9.2'

Есть предложения?

Ответы [ 4 ]

8 голосов
/ 12 ноября 2011

Попробуйте выполнить:

gem list

Вы, вероятно, увидите пару версий, установленных для граблей. Кстати, bundle exec - это правильный способ выполнения вашего кода в контексте приложения Rails. Таким образом, вы можете использовать псевдоним для ввода меньше.

2 голосов
/ 18 апреля 2012

Как сказал @lucapette, у вас, вероятно, есть несколько версий рейка.Предполагая, что вы действительно хотите использовать 0.9.2, вы можете удалить версию 0.9.2.2, чтобы избавиться от предупреждения, а затем запустить пакетную установку, чтобы убедиться, что у вас есть все нужные версии гемов для той версии, которую вы хотите (0.9.2 в вашем случае,0.8.7 в моем примере ниже).

Вот шаги:

$ gem list

*** LOCAL GEMS ***

...
rake (0.9.2.2, 0.8.7)
...

$ gem uninstall rake

Select gem to uninstall:
 1. rake-0.8.7
 2. rake-0.9.2.2
 3. All versions
> 2

You have requested to uninstall the gem:
        rake-0.9.2.2
addressable-2.2.6 depends on [rake (>= 0.7.3)]
...
If you remove this gems, one or more dependencies will not be met.
Continue with Uninstall? [Yn]  Y
Successfully uninstalled rake-0.9.2.2
INFO:  gem "0.9.2.2" is not installed

$ bundle install
2 голосов
/ 04 марта 2012

В случае, если вы используете rvm.Вы можете попробовать следующее

rvm gem list
0 голосов
/ 02 октября 2012

Вы можете увидеть это сообщение, если для некоторых драгоценных камней в вашем файле gem требуется более старая версия Rake, чем та, которую вы установили.Возможно, вы обновили грабли.Вы часто можете исправить это, обновляя свои драгоценные камни.Выполните:

bundle update

Это обновит ваш комплект, используя самые последние самоцветы в вашем файле gem.Это, вероятно, исправит несовместимость граблей.

...