From bundler official website :
Run the executable that comes with the gem in your package
$ bundle exec rspec spec/models
In some cases, executing executable files without the exec package may work if the executable is installed on your system and does not pull on any gems that conflict with your package.
However, this is unreliable and is a source of significant pain. Even if it looks like it is working, it may not work in the future or on another machine. If you want a shortcut for gems in your bundle
$ bundle install --binstubs $ bin/rspec spec/models
Executables installed in bin are bundled and will always work
I'm not sure if there is anything special about guard , but overall it is good practice to run all the executables of your gems through bundle exec . Maybe they just decided to warn the developers that starting guard without this could cause problems (for example, if your system has different versions of guard and Gemfile ).
source share