Изтегляне на зависимости за частен скъпоценен камък в доставчика/кеша

Създадохме скъпоценен камък само за вътрешна употреба, който не се хоства на нито един сървър. Разпространява се на екипи като gem файл, които след това го добавят към своята папка "vendor/cache" и използват Bundler, за да го добавят като зависимост.

Файлът gemspec в проекта за gem определя необходимите зависимости за нашия вътрешен gem, но не ги изтегля, когато се използва „Инсталиране на пакет“. Предполагам, че това е така, защото списъкът със зависимости се извлича от повикване към сървъра 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