Я работаю над проектом с несколькими локальными git-репозиториями, которые объединены в одно приложение. Как и в Symfony, компоненты нашего приложения разделены аналогичным образом.
Мой вопрос: как правильно связать эти пакеты?
Я знаю, что могу сделать что-то вроде этого:
"repositories": [
{ "type": "path", "url": "../another-component" },
{ "type": "path", "url": "../yet-another-component" }
]
Это все еще заставляет меня делать composer install
чтобы вытащить пакеты, хотя Он клонирует локальный репозиторий git, который я использую для разработки при каждом запуске composer install
,
Очевидно, что я не хочу делать это каждый раз, когда настраиваю компонент, который составляет часть моего основного приложения, для внесения любых изменений, которые я сделал, в репозитории, которые составляют мой основной репозиторий приложения.
Есть ли лучший способ синхронизировать репозитории разработки? Или я могу настроить это, чтобы получить то, что я хочу?
Я предполагаю, что многие разработчики сталкиваются с этой проблемой, поэтому должно быть хорошо продуманное решение для этого?
Приветствия.
редактировать
Я также видел эту статью, которая повторяет ту же концепцию:
http://tech.vg.no/2014/11/25/using-local-packages-as-composer-dependencies/#comment-522050
Проблема в том, что каждый раз, когда вы вносите изменения в один из репозиториев, которые составляют ваше приложение, вы должны запускать: composer update
что хлопотно Я действительно ищу способ просто синхронизировать их должным образом.
Вышеупомянутое решение работает нормально, мне пришлось удалить свой файл блокировки и очистить кэш композитора. Вместо клонирования репозиторий композитор создаст символическую ссылку, а ваши репозитории будут синхронизированы.
Возможно, не стоит удалять ваш файл блокировки, поэтому, если у кого-то есть лучшее предложение, пожалуйста, оставьте комментарий.
Других решений пока нет …