По сути, bundle install --deployment
даже не смотрит на ваш Gemfile
и просто установит все зависимости от вашего Gemfile.lock
(и потерпит неудачу, если у вашего Gemfile.lock
есть проблемы с зависимостями). bundle install --path
делает обычное bundle install
с определенной целевой папкой (которая в вашем примере совпадает с целевой папкой для bundle install --deployment
). Основное отличие вашего примера в том, что bundle install
попытается изменить ваш Gemfile.lock
, если ваш Gemfile
изменился.
Причина, по которой Bundler устанавливается на vendor/bundle
в режиме развертывания, заключается в том, что обычный bundle install
будет устанавливать гемы в общую папку, используемую каждым проектом. Желательно изолировать ваши зависимости между проектами и развертываниями.