избегайте проверки http при установке самодельного драгоценного камня

Я работаю над набором драгоценных камней для своего приложения.

При установке любого из моих собственных драгоценных камней программа драгоценных камней будет проверять спецификации rubugems (возможно, на наличие зависимостей). С подробным флагом я вижу такие сообщения, как:

GET http://rubygems.org/latest_specs.4.8.gz
302 Found
GET http://production.s3.rubygems.org/latest_specs.4.8.gz
200 OK
GET http://rubygems.org/specs.4.8.gz

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

Поскольку я почти уверен, что все внешние зависимости gem удовлетворены, есть ли способ указать gem не проверять зависимости от rubygems.org и избегать, возможно, медленного http-трафика?

С уважением,

_dl


person devlearn    schedule 21.09.2010    source источник
comment
да, это делает трюк! Спасибо   -  person devlearn    schedule 22.09.2010


Ответы (2)


Если вы хотите предотвратить доступ к таким вещам, как rubygems.org, как часть вашей сборки, вы можете использовать внутренний гем-сервер, такой как GemInABox, для размещения гемов, которые вы будете использовать в своей организации.

Затем просто убедитесь, что в gem переданы параметры --clear-sources и --source.

Например:

gem install bundler --clear-sources --source http://your.corporate.gemserver.here.com 

Это позволит вам избежать проблем с подключением и сетевых задержек в вашей сборке CI, тем самым устранив еще один источник отклонений сборки.

Раньше опция --source гема использовалась как единственный источник для поиска гема. Где-то в 2009 году он изменился, чтобы объединить источник, предоставленный в качестве опции, с источниками по умолчанию, определенными для драгоценных камней, одним из которых является http://rubygems.org.

К сожалению, это означало, что если бы вы запускали gem на машине, которая была отгорожена стеной и не могла даже получить доступ к http-прокси, вы бы обнаружили ошибку установки gem из-за проблем с сетью, поскольку он тосковал бы по дому и пытался искать http://rubygems.org, хотя вы сказали не смотреть туда.

Руководство Rubygems немного отстает, а параметр --clear-source не описан в руководстве. Это видно, только если вы посмотрите в исходный код. Я надеюсь, что это будет подхвачено и использовано другими, чтобы сэкономить им время.

Привет Стюарт

person Stuart Blair    schedule 18.11.2011

Используете ли вы ювелира для создания драгоценного камня?

Вы можете использовать rake install для установки драгоценного камня

person jordinl    schedule 21.09.2010
comment
Нет, мы не используем ювелир, гем устанавливается как часть процесса, в котором вызывается командная строка гем. Так что мне действительно нужна опция gem, а --ignore-dependencies делает именно то, что мне нужно. - person devlearn; 27.09.2010