Bundler + Guard + Rspec + Rbenv = " вы уже активировали…"


Guard всегда раздражает меня этим вопросом:

.../gems/bundler-1.6.2/lib/bundler/runtime.rb:34:in `block in setup': You have already activated multi_json 1.10.0, but your Gemfile requires multi_json 1.9.2. Prepending `bundle exec` to your command may solve this. (Gem::LoadError)
Я знаю, что могу сделать bundle update или gem uninstall или указать точную версию в Gemfile. Есть ли способ исправить это раз и навсегда, чтобы guard запускал bundle exec rspec или bin/rspec (я использую rbenv)? Я думаю, что видел пятно где-то на github, но я не могу найти его сейчас.

Обновить

Просто для протокола вот что происходит даже с bundle exec:

$ bundle exec guard
17:11:07 - INFO - Guard is using TerminalNotifier to send notifications.
17:11:07 - INFO - Guard is using TerminalTitle to send notifications.
17:11:07 - INFO - Guard::RSpec is running
17:11:07 - INFO - Guard is now watching at '/Sites/site'
[1] guard(main)>
17:11:10 - INFO - Run all
17:11:10 - INFO - Running all specs
WARN: Unresolved specs during Gem::Specification.reset:
      rspec-expectations (~> 2.14.0)
      rspec-mocks (~> 2.14.0)
      listen (~> 2.7)
      formatador (>= 0.2.4)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
WARN: Unresolved specs during Gem::Specification.reset:
      debugger-ruby_core_source (~> 1.3.2)
      rb-inotify (>= 0.9)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
.../.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/bundler-1.6.2/lib/bundler/runtime.rb:34:in `block in setup': You have already activated formatador 0.2.5, but your Gemfile requires formatador 0.2.4. Prepending `bundle exec` to your command may solve this. (Gem::LoadError)
...
1 2

1 ответ:

Поэтому, посидев на нем некоторое время, я немного изменил Guardfile:

До:

guard :rspec do

После:

guard :rspec, cmd: 'bundle exec rspec' do
И это решило проблему раз и навсегда.