#ruby #bundler
Вопрос:
Версия комплектации: 1.15.1
. Версия Ruby: 2.3.1
. У меня есть (от gem env
):
- GEM PATHS: - /var/lib/gems/2.3.0 - /root/.gem/ruby/2.3.0 - /usr/lib/x86_64-linux-gnu/rubygems-integration/2.3.0 - /usr/share/rubygems-integration/2.3.0 - /usr/share/rubygems-integration/all
Со всеми драгоценными камнями из Gemfile.замок присутствует под /var/lib/gems/2.3.0
. Но bundler не будет пытаться повторно использовать их, а вместо этого будет пытаться повторно загружать каждый раз.
Мой .bundle/config
:
--- BUNDLE_PATH: "vendor/bundle" BUNDLE_BIN: "vendor/bin" BUNDLE_DISABLE_SHARED_GEMS: "true" lt;--- removing this config entry doesn't help
запуск bundle install
просто повторно загружает драгоценные камни вместо того, чтобы говорить «Использовать», поэтому это занимает много времени.
Каковы настройки, которые могут вызвать это, и как заставить комплектующего получать драгоценные камни из системного пути /var/lib/gems/2.3.0
?
Я полностью прочитал документы по установке пакета и пакета, но не вижу, как я могу заставить bundler использовать системные драгоценные камни. Кроме использования source 'file:///var/lib/gems/2.3.0'
после создания индекса, но я бы очень хотел избежать этого и использовать более элегантное решение. Тем более, что это, вероятно, приведет к переустановке драгоценных камней, что займет даже больше времени, чем повторная загрузка.
Ответ №1:
Вы приступили BUNDLE_DISABLE_SHARED_GEMS
к true
этому . Этот параметр предписывает bundler специально игнорировать любые установленные в системе драгоценные камни. Вместо этого bundler загружает все необходимые драгоценные камни в ваш BUNDLE_PATH
.
Если вы хотите использовать установленные в системе драгоценные камни, если это необходимо, удалите этот BUNDLE_DISABLE_SHARED_GEMS
параметр из конфигурации пакета.
Комментарии:
1. Только сейчас я заметил, что после удаления этой записи она автоматически появляется снова! Поэтому, когда я удаляю его из файла , при запуске
bundle install
он сразу же добавляется в файл.2. Теперь я кое-что понял.
bundle install
будет делать это всякий раз, когда будет принято решение не устанавливать драгоценные камни в системный путь (поэтомуBUNDLE_PATH
иBUNDLE_BIN
настройки). Я воздержусь от комментариев по поводу того, что я думаю по этому поводу. Спасибо вам за помощь!