У меня есть проект, который зависит от локального пакета, который сам по себе зависит от другого локального pakcage.Composer не находит локальную зависимость vcs
Проект
{ ... "repositories": [ { "packagist": false }, { "type": "vcs", "url": "/path/to/local/package1" }, ], "require": { "local/package1": "dev-master" } ... }
Пакет 1
{ ... "repositories": [ { "packagist": false }, { "type": "vcs", "url": "/path/to/local/package2" }, ], "require": { "local/package2": "dev-master" } ... }
Когда я делаю composer install
на package1
, все работает, как и ожидалось, packages2
найден и установлен. Но когда я делаю это на project
он не может найти package2
с этой ошибкой:
Problem 1 - Installation request for local/package1 dev-master -> satisfiable by local/package1[dev-master]. - local/package1 dev-master requires local/package2 dev-master -> no matching package found.
Спасибо, я должен добавить все к JSON проекта. Было бы здорово, если бы композитор добавил опцию '--recursive-repositories' для таких случаев. Решаемые. –
Да, композитор не настолько гибкий, когда речь идет о рекурсии, есть и другие подводные камни, например. нет вложенного require-dev. – estus
Рекурсивные локальные репозитории - сложная проблема. Не стоит тратить время и средства на его реализацию, поскольку работа с местными репозиториями и должна быть временной. Решение состоит в том, чтобы «публиковать» конфиденциально (Satis) или публично (Packgist или clone). @estus Можете ли вы предоставить прецедент для функции «Вложенный запрос-dev». –