Compositor: no se encontró package coincidente

Tengo un framework PHP que he creado, y estoy tratando de separar todo en diferentes repositorys y configurarlo en compositor para hacerme la vida más fácil.

Básicamente, tengo 3 repos en cuestión: uno es para una class de colección que sirve como class base para types de datos de colección ("liftkit / colección"), otro es un contenedor para variables de input ("liftkit / input", que depende de el repository de recostackción), y un tercero que es para el núcleo ("liftkit / core", que depende del contenedor de input.

Cuando ejecuto la composer update en "liftkit / input", instala "liftkit / collection" y funciona bien, pero cuando lo ejecuto en "liftkit / core" me da el siguiente error:

Problema 1 – Solicitud de installation de liftkit / input @dev -> satisfiable por liftkit / input [dev-master]. – liftkit / input dev-master requiere liftkit / collection dev-master -> no se ha encontrado ningún package coincidente.

Aquí están mis files composer.json:

 { "name": "liftkit/collection", "description": "LiftKit base class for collections", "license": "LGP-2.1", "autoload": { "psr-4": { "LiftKit\\": "src/" } }, "require": { }, "require-dev": { "phpunit/phpunit": "4.5.*" } } { "name": "liftkit/input", "description": "LiftKit input wrappers", "license": "LGP-2.1", "autoload": { "psr-4": { "LiftKit\\": "src/" } }, "require": { "liftkit/collection": "dev-master" }, "require-dev": { "phpunit/phpunit": "4.5.*" }, "repositories": [ { "type": "git", "url": "https://github.com/liftkit/collection" } ] } { "name": "liftkit/core", "description": "LiftKit Core Libraries", "license": "LGP-2.1", "minimum-stability": "dev", "autoload": { "psr-4": { "LiftKit\\": "src/" } }, "require": { "liftkit/input": "dev-master", "liftkit/dependency-injection": "dev-master" }, "require-dev": { "phpunit/phpunit": "4.5.*" }, "repositories": [ { "type": "git", "url": "https://github.com/liftkit/input" }, { "type": "git", "url": "https://github.com/liftkit/dependency-injection" } ] } 

Cualquier ayuda es muy apreciada. Gracias.

Parece que el compositor no resolverá repositorys recursivamente. De los documentos:

Los repositorys no se resuelven recursivamente. Solo puede agregarlos a su compositor principal.json. Las declaraciones de repository de las dependencies 'composer.jsons' se ignoran.

Así que supongo que no tengo suerte. Tendré que especificar los repositorys en cada repository.

Parece que intentas requerir un package inestable que depende de otro package inestable.

Soluciones posibles:

  1. Usa tags, de esa manera el compositor sabe qué versión instalar (lo recomiendo)
  2. Nombre todos los repositorys que necesita en su compositor principal con la label @dev

     "liftkit/input": "@dev", "liftkit/collection": "@dev"