Загрузка зависимостей для приватного гема в vendor/cache

Мы создали драгоценный камень только для внутреннего использования, который не размещен ни на одном сервере. Он распространяется среди команд в виде файла gem, который затем добавляет его в свою папку «vendor/cache» и использует Bundler для добавления его в качестве зависимости.

Файл gemspec в проекте gem определяет требуемые зависимости для нашего внутреннего гема, но не загружает их, когда используется «Bundle install». Я предполагаю, что это связано с тем, что список зависимостей извлекается из вызова сервера rubygems, а не из самого файла Gem?? Если зависимости уже есть в вендоре/кэше, то все в порядке.

Есть ли способ указать gem/bundler для получения списка зависимостей от самого камня, а не от сервера?

Наше единственное решение — создать внутренний сервер Gem?


person Robbie Wareham    schedule 06.03.2014    source источник


Ответы (1)


bundle install ищет зависимости в Gemfile и игнорирует .gemspec.

Согласно документации Rails Engine:

«Объявите зависимости вашего гема в clinkle_shared.gemspec. Bundler будет рассматривать зависимости времени выполнения как базовые зависимости, а зависимости разработки будут добавлены по умолчанию в группу :development.

Объявляйте все зависимости, которые все еще находятся в разработке, в файле Gemfile, а не в файле .gemspec. Это могут быть Edge Rails или жемчужины вашего пути или Git. Не забудьте переместить эти зависимости в свой .gemspec перед тем, как опубликовать свой гем на rubygems.org».

person Jason Benn    schedule 11.04.2014
comment
Спасибо, я попробую это. - person Robbie Wareham; 11.04.2014