Ответ 1
Да! Правда.
Когда вы используете флаг --deployment
, Bundler гарантирует, что каждый драгоценный камень, который вам нужен, является продавцом, т.е. они скопированы в заранее определенное место в структуре вашей папки приложения (которая, как правило, является vendor/bundle
в Rails по соглашению). Это хорошо для двух вещей.
Сначала, если у вас есть ограниченные разрешения, которые препятствуют установке камней на вашем компьютере развертывания, тогда позвольте вам иметь все необходимые камни в вашем приложении.
Во-вторых, если вы хотите взломать фактический код в драгоценных камнях, вы можете сделать это на своих копиях, не затрагивая системные драгоценные камни. Изменения, которые вы вносите, повлияют только на приложение, над которым вы работаете.
Этот подход к использованию, используемый для другого использования, гарантирует, что вы используете конкретную версию драгоценного камня, и ваше приложение будет работать, даже если системные драгоценные камни были обновлены до более высокой версии, которая нарушит ваше приложение. Однако сам Бундлер сделал этот случай использования в основном устаревшим, поскольку он автоматизировал установку и привязку конкретных версий драгоценных камней.
И да, продавец будет раздувать ваш код приложения. Gemfile.lock
- это всего лишь список необходимых драгоценных камней. Если вы продадите свои драгоценные камни, они будут полностью скопированы в ваше приложение.
Итак, я рекомендую вам не поставщик ваших драгоценных камней (это также означает, что вы не используете флаг --deployment
), если у вас нет одной из причин, указанных выше.