У меня есть частный репозиторий git, расположенный по адресу [email protected], к которому я обращаюсь по ssh.
Мне нужно включить 2 проекта с одного сервера, и я делаю так:
"require": {
"proj1": "dev-master",
"proj2": "dev-master",
},"repositories": [
{
"type": "vcs",
"url": "[email protected]:proj1.git"},
{
"type": "vcs",
"url": "[email protected]:proj2.git"}
]
Может случиться так, что количество этих репо возрастет. Есть ли шанс, что я могу настроить что-то вроде
"url": "[email protected]"
и пусть композитор решит, где найти пакеты?
Обратите внимание, что я не хочу использовать suc или любой другой менеджер пакетов.
Существует только способ обработки частных проектов без прямого определения composer.json
— используйте Satis или Toran Proxy.
https://getcomposer.org/doc/articles/handling-private-packages-with-satis.md
Composer позволяет вам добавлять репозитории, которые также будут проверяться на наличие пакетов в дополнение к использованию Packagist.
Обратите внимание, что вы не указали, какой пакет должен быть найден в этих репозиториях, потому что Composer будет сканировать их для composer.json
и определите, какие пакеты доступны (один репозиторий может содержать более одного пакета в разных ветвях!).
Поскольку каждый репозиторий не зависит друг от друга, вы должны упомянуть их все по отдельности.
Также обратите внимание, что Composer позволяет добавлять эти репозитории только на корневом уровне, поэтому вам придется повторять каждый репозиторий, который используется в ваших зависимостях, снова в корневом проекте, даже если этот корневой проект не имеет прямой зависимости от пакета, который предоставляется в таком хранилище.
Чтобы избежать этого, нужно иметь Packagist-подобный репозиторий, который создается с помощью Satis, Toran или локальной установки самого Packagist. Я рекомендую идти по этому пути, даже если вы говорите, что не хотите.