bundle exec rake vs rake
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 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所指定的版本去操作。