Cambiar la fuente de Git de Composer para un package

Extraigo un package usando Composer con este compositor. Json:

{ "require": { "torophp/torophp": "dev-master", }, } 

Cuando ejecuto la composer install , parece extraer este package de GitHub directamente.

He creado una bifurcación de ese repository en github con algunos pequeños cambios. ¿Hay alguna manera de hacer que el compositor saque mi versión en GitHub en lugar del original?

Si este es tu composer.json

 "require": { "torophp/torophp": "dev-master" } 

y desea cambiarlo y usar su horquilla, simplemente agregue su repository en composer.json siguiente manera:

 "repositories": [ { "type": "vcs", "url": "https://github.com/your-github-username/torophp" } ] 

Importante : ¡No cambie la parte "require" , debe continuar usando torophp/torophp !

Después de agregar la parte de "repositories" , ejecute una composer update (o una composer.phar update ) y el compositor luego downloadá su fork (aunque hace eco de "instalar torophp / torophp" durante la operación).


Actualización (18.09.2014): Según lo mencionado por @efesaid en los comentarios:

Si su package está publicado en packagist, debe agregar la opción --prefer-source para forzar la installation desde VCS.


Nota : Para aquellos que tienen problemas con la extracción de la fuente HTTP (S) (es decir, obtiene [RuntimeException] Failed to clone https://github.com/your-github-username/torophp, could not read packages from it al intentar actualización), puede cambiar el composer.json para usar el protocolo git en su lugar. Para hacerlo, cambie el composer.json siguiente manera y ejecute la composer update nuevamente.

 "repositories": [ { "type": "git", "url": "git://github.com/your-github-username/torophp.git" } ] 

Ahora vaya a vendor/torophp/torophp y ejecute git remote -v para una doble verificación de que usa la fuente deseada para el repository.

Desde allí, puede enviar los cambios a su horquilla y actualizarlos desde el origen ( git pull origin master de origen de git pull origin master ).


Actualización : para trabajar con repositorys privados en GitHub, debe usar el protocolo git y también debe tener instaladas keys SSH para un cliente de git.

Referencia del compositor: carga de un package desde un repository de VCS