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