Как мне использовать пакетную установку --standalone с приложением Rails? - PullRequest
7 голосов
/ 20 декабря 2011

bundle install --standalone кажется прекрасной идеей, но мне трудно обдумать, как его использовать, и это не означает, что вам нужно установить rubygems или связку.

Он генерирует bundler / setup.rb, который добавляет каталоги lib и ext моих гемов, по-видимому, по порядку. Предположительно, все, что мне нужно сделать, это добавить его в путь загрузки, и все хорошо.

Но bundler / setup.rb, похоже, на самом деле ничего не требует.

Теперь все в порядке, потому что обычному пакету / установке ничего не требуется, и приложение оставляет для вызова Bundler.require

Rails по умолчанию выполняет требование с этой маленькой песчинкой:

if defined?(Bundler)
  Bundler.require(*Rails.groups(:assets => %w(development test)))
end

В тот момент, когда он достигает этого значения, Bundler не определен (bundler / setup.rb не определяет его), поэтому он пропускает блок.

Так как именно мне требуется упаковщик. Если бы bundle install --standalone на самом деле связывал упаковщик, предположительно, я мог бы вручную вызвать require bundler, а затем определить Bundler, но он, похоже, исключает себя из связки.

Есть ли приложение, которое на самом деле использует bundle install --standalone, и если да, то как?

Ответы [ 2 ]

2 голосов
/ 18 сентября 2012

Чтобы заставить это работать с Rails, вы удалите вызов Bundler.require и вручную добавьте все необходимые строки там, где они нужны.

Это имеет свои плюсы и минусы.С другой стороны, это может ускорить загрузку вашего приложения, так как не все гемы требуются во время загрузки.Также ясно, какие драгоценные камни используются.

С другой стороны, вы должны добавить все необходимые вызовы в ваше приложение.

Посмотрите на блог Myron Marstonsсообщение для лучшего объяснения.

0 голосов
/ 11 марта 2013

пакет установки --deployment #install ruby ​​и пакетный гем в каталог проекта

...