Я знаю, что они оба помещают драгоценные камни в ваше приложение в разных местах, но кажется, что пакетная установка --deployment выполняет более тщательную работу. Могу ли я просто добавить каталог поставщика/пакета, который он создает для управления версиями, и сделать это?
В чем разница между установкой пакета --deployment и пакетом пакетов
Ответ 1
Посмотрите на описание двух на сайте Bundler.
Запуск bundle install --deployment
должен выполняться в рабочей среде, но при запуске он будет захватывать драгоценные камни из rubygems. Подробнее здесь под заголовком "Развертывание вашего приложения" для флага --deployment
.
bundle package
похож на старую команду rake rails:gems:freeze
из Rails 2.3. Он захватывает драгоценные камни и упаковывает их в вендор/кеш. От сайта поставщика здесь:
Вы можете использовать это, чтобы избежать зависимости на rubygems.org во время развертывания, или если у вас есть частные драгоценные камни, которые не находятся в публичный репозиторий
Ответ 2
Я использую bundle install --path vendor/bundle
в режиме разработки.
bundle install --deployment
заблокирует yor Gemfile.lock и не будет обновлять его при изменении Gemfile, поэтому никогда не используйте параметр развертывания в среде разработки.
bundle install --no-deployment
отключит режим развертывания пакетов.
Вы можете прочитать который отправит о правильном использовании пакета.
Ответ 3
Я объяснил аргументы за флаг режима -deployment довольно долго в разговоре, который я дал в RailsConf 2011. Это сообщение в блоге содержит мои заметки для этого разговора, и (надеюсь) охватывает все рассуждения, лежащие в основе пути --deployment работает: http://andre.arko.net/2011/06/11/deploying-with-bundler-notes/