2015-03-04 2 views
3

У меня есть три кулинарных книги «A», «B» и «C». Каждая поваренная книга живет в собственном репо.Berkshelf не загружает зависимости для cookbook в git

CookBook 'B' зависит от 'А' и у меня есть запись для поваренной книги 'A' Berksfile, с источником, установленным на URL репо

CookBook 'C' зависит от 'B' и у меня есть запись для поваренной книги " B»Berksfile с источником установлен URL репо

Однако после запуска berks vendor на Berksfile из поваренной книги„C“, я вижу, что berkshelf не скачивает кулинарной„A“

что я делаю неправильно здесь

+0

Berkshelf использует только локальный файл Berksfile. В Berksfile для кулинарной книги «C» должны содержаться URL-адреса GIT для кулинарных книг «A» и «B». Таким образом, он узнает, откуда получить код поваренной книги, связанный с объявлениями зависимостей, которые он обнаруживает в файлах метаданных –

ответ

2

Зависимости от вашей кулинарной книги должны быть указаны в файле metadata.rb поваренной книги.

В вашем случае использования здесь, если поваренной А зависит от кулинарной B, вы должны иметь следующую строку в файл metadata.rb вашей кулинарной А.

depends 'B' 

Теперь, приходя в ваш Berksfile, источник для общедоступных кулинарных книг, перечисленных на supermarket, если у вас нет собственного экземпляра супермаркета. Ибо поваренные книги, которые не в супермаркете использовать «поваренная книга» в вашем Berksfile перечислить вашу зависимость, как показано в примере ниже:

source 'https://supermarket.getchef.com' 

metadata 

cookbook 'B', git:'http://<your_domain>/project/B', tag: 'some_tag' 

Berkshelf обрабатывает зависимости поваренной книги на основе зависимостей, перечисленных в вашей кулинарной-х metadata.rb.

Смежные вопросы