Você está executando bundle exec
um programa. Os criadores do programa o escreveram quando certas versões de gemas estavam disponíveis. O programa Gemfile especifica as versões das gemas que os criadores decidiram usar. Ou seja, o script foi feito para ser executado corretamente nessas versões de gemas.
O seu Gemfile em todo o sistema pode diferir deste Gemfile. Você pode ter joias mais novas ou mais antigas, com as quais esse script não funciona bem. Essa diferença de versão pode gerar erros estranhos.
bundle exec
ajuda a evitar esses erros. Ele executa o script usando as gemas especificadas no Gemfile do script, em vez do Gemfile em todo o sistema. Ele executa certas versões de gemas com a magia de aliases de shell.
Veja mais na página do manual .
Aqui está um exemplo do Gemfile:
source 'http://rubygems.org'
gem 'rails', '2.8.3'
Aqui, você bundle exec
executaria o script usando o rails versão 2.8.3 e não outra versão que você possa ter instalado em todo o sistema.