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