bundle exec rake會根據你所使用的 Gemfile 去做執行動作。
rake單純使用gem install rake 去做執行不會依據Gemfile去做執行。
若已經事先安裝gem install rake 12.1.0,倘若Gemfile指定版本是10.4.2,如果不加bundle exec,將會使用rake 12.1.0版本去執行本來的rake 10.1.0版本寫出來的tasks。
有可能會發生異常現象,但是為了避免這種不兼容情況發生,bundle exec就是為了避免這種問題而存在的,不論系統是什麼版本的gem都會依照Gemfile所指定的版本去操作。
REFERENCE / 3