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