#ruby-on-rails #ruby #gem #bundler #config
#ruby-on-rails #ruby #rubygems #bundler #конфигурация
Вопрос:
Я нашел BUNDLE_DISABLE_SHARED_GEMS: '1'
, в .bundle/config
. Что это значит?
Ответ №1:
Bundler берет некоторые настройки из ~/.bundle/config
файла, а не из оболочки env.
Если установлено значение true (по умолчанию), установка всех драгоценных камней будет осуществляться в BUNDLE_PATH
, независимо от того, установлены ли эти драгоценные камни в вашей системе.
По умолчанию Bundler не будет устанавливать gems, которые уже есть в системных gems, так что это особенно полезно, если вы пытаетесь упаковать приложение со всеми распакованными зависимостями.
Комментарии:
1. я предполагаю, что в данном случае 1 == true?
Ответ №2:
Это означает, что «установка пакета» всегда будет устанавливать драгоценные камни в локальный каталог (по умолчанию .bundle
) и использовать их вместо общесистемных установленных драгоценных камней.
Комментарии:
1. Я обнаружил, что моему
.bundle/config
файлуBUNDLE_DISABLE_SHARED_GEMS
присвоено значение true, но при запускеbundle
в локальную.bundle
папку не были установлены драгоценные камни.BUNDLE_PATH
параметр env var не установлен.
Ответ №3:
Скажу больше, я закомментировал BUNDLE_DISABLE_SHARED_GEMS: ‘1’ в моей системе, и это помешало passenger standalone обслуживать страницу, выдавая ошибку, начинающуюся со слов: «Похоже, что Bundler не смог найти gem».
Я запускаю все свои драгоценные камни, кроме passenger, в локально собранном наборе драгоценных камней.
Ответ №4:
Запретить Bundler доступ к gems, установленным в обычном расположении RubyGems.