Dependências recursivas do compositor.json
-
20-12-2019 - |
Pergunta
Estou tentando gerenciar meus pacotes pessoais via Composer e estou recebendo alguns erros quando "atualizo/instalo" um módulo (que depende de outro módulo que depende de outro módulo, etc).
Eu tenho um arquivo compositor.json em meu módulo Admin que faz referência e requer um repositório pessoal "Access":
"repositories": [
{
"type": "vcs",
"url": "git@gitlab.[hidden].com:[hidden]/php-zf2-access.git"
},
],
"require": {
[hidden]/php-zf2-access": "dev-master"
}
Meu módulo Access possui um arquivo compositor.json que faz referência e requer um repositório pessoal Basic:
"repositories": [
{
"type": "vcs",
"url": "git@gitlab.[hidden].com:[hidden]/php-zf2-basic.git"
}
],
"require": {
"[hidden]/php-zf2-basic": "dev-master"
},
Quando estou instalando/atualizando meu módulo Admin, recebo este erro:
Seus requisitos não puderam ser resolvidos para um conjunto instalável de pacotes.
Problema 1
- Installation request for [hidden]/php-zf2-access dev-master -> satisfiable by [hidden]/php-zf2-access[dev-master]. - [hidden]/php-zf2-access dev-master requires [hidden]/php-zf2-basic dev-master -> no matching package found.
Se eu "instalar o compositor" meu módulo Access, ele carrega corretamente meu módulo Basic (nenhum erro de configuração em meu módulo compositor.json Access), então por que meu módulo Admin não pode carregar o Access que carrega Basic ?
Se eu adicionar minha configuração do módulo Básico (repositórios:....basic.git + requer:.....basic:"dev-master") ao módulo Admin do meu compositor.json, nenhum erro é gerado e a instalação funciona perfeitamente (mas não quero isso como solução).
Obrigado pela ajuda.
Solução
Compositor não é possível carregar repositórios recursivamente.O mais fácil se você tiver pacotes privados para gerenciar que tenham dependências entre si é usar Procurador Toran ou Satisfeito.