Cargar dependencies de proveedores con composer.json

Recientemente, he bifurcado el proyecto robmorgan / phinx y modificado el file composer.json en mi proyecto para usar la versión bifurcada:

{ "name": "...", "description": "...", "repositories": [ { "type": "package", "package": { "name": "lube8uy/phinx", "version": "master", "source": { "url": "https://github.com/lube8uy/phinx.git", "type": "git", "reference": "master" } } } ], "require": { "php": ">=5.3.0", "lube8uy/phinx": "dev-master" } } 

Primera pregunta: proveedores adicionales

Ahora, cuando cargo el file composer.json en mi proyecto, obtengo esta versión bifurcada correctamente. Lo que no sé es cómo cargar las dependencies del proyecto phinx mismo: https://github.com/lube8uy/phinx/blob/master/composer.json

Si utilizo la fuente original de packagist todo funciona bien y obtuve todas las dependencies, pero ahora que uso mi propio repository no puedo getlas.

Segunda pregunta: actualizaciones

¿Cómo puedo recibir las modificaciones que hice a mi fuente github? Hice algunas modificaciones, los empujé a la twig correcta, luego ejecuté la actualización del compositor pero no se actualizó nada … ¿qué estoy haciendo mal?

Muchas gracias

Para su primera pregunta:

Intente solicitarlo como un repository de VCS (Version Control System, consulte el doc. Del compositor en los repositorys de vcs ), como el siguiente:

 { "name": "...", "description": "...", "repositories": [ { "type": "vcs", "url": "https://github.com/lube8uy/phinx" } ], "require": { "php": ">=5.3.0", "robmorgan/phinx": "dev-master" } } 

Ahora requiere el package robmorgan/phinx que se encuentra en https://github.com/lube8uy/phinx que es la bifurcación deseada. Todavía tiene el nombre original robmorgan/phinx pero se encuentra en una location diferente.

Todavía tiene el mismo nombre debido al nombre del package en su composer.json . Si desea cambiar el nombre a lube8ye/phinx , cámbielo en composer.json en la bifurcación.

Para su segunda pregunta:

Los cambios realizados en un package que requiera a través del compositor deberían actualizarse automáticamente cuando ejecute la php composer.phar update en su proyecto. Si esto no funciona, intente forzar al compositor a que requiera una confirmación específica agregando el hash de confirmación después de dev-master en su sección de require así:

  "require": { "robmorgan/phinx": "dev-master#1234abcd" } 

1234abcd es el hash de la confirmación deseada.

Además: intente borrar el caching del compositor eliminando el contenido de las carpetas para evitar cargar una versión en caching (consulte el documento del compositor en COMPOSER_CACHE_DIR )