Мой composer.json это:
{
"config": {
"vendor-dir" : "php/lib"},
"require": {
"h0gar/xpath" : "*",
"hellogerard/jobby": "dev-master",
...
},
}
.игитигнор это
php/config.php
Я синхронизировал свой локальный проект с частным хранилищем битовых корзин. При развертывании кода из этого хранилища я получаю ошибку из-за отсутствия библиотек. Во время исследования я выяснил, что некоторые из библиотек (например, hellogerard / jobby) я установил через composer, где «загрузил» в мое хранилище битовых копий «ссылки», вот что я вижу:
другие отправляются на удаленное репо правильно (я имею в виду полные каталоги и файлы).
Я знаю, что лучше всего добавлять директорию вендора моего композитора в .gitignore и устанавливать libs на каждую машину, но это все равно должно работать, и для некоторых небольших проектов скорость и легкость лучше хорошей практики? В любом случае, мое любопытство хочет знать, что означает эта ссылка на битбакет!
Спасибо за ваши мысли …
«Ссылка», о которой вы говорите, выглядит как «git submodule». Это ссылка на другой репозиторий git. Это использовалось до времени композитора как метод для ссылки на репозиторий git при конкретном коммите.
Теперь я бы порекомендовал вам добавить composer.json
к jobby
хранилище и использовать его в качестве стандартного пакета.
Других решений пока нет …