Repositorio privado Git

Cuando uso esto

{ "type": "package", "package": { "name": "name/vendor", "version": "dev-master", "source": { "url": "git@github.com:name/vendor.git", "type": "git", "reference": "master" } } } 

mi file autoload_psr4.php no se genera con la ruta que declaro en mi repository, pero cuando uso la siguiente configuration, funciona bien.

 { "type": "vcs", "url": "git@github.com:name/vendor.git" } 

Quiero saber por qué la primera configuration genera los files de autocarga del compositor correctamente, pero la segunda configuration no.

Editar 2:

La ejecución de la composer update con la primera configuration da como resultado las siguientes autocargadas:

 return array( 'Symfony\\Bundle\\MonologBundle\\' => array($vendorDir . '/symfony/monolog-bundle'), 'Symfony\\Bundle\\AsseticBundle\\' => array($vendorDir . '/symfony/assetic-bundle'), 'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'), ); 

Cuando cambié a la segunda configuration, la carga automática tiene:

 return array( 'skowronline\\TaskBundle\\' => array($vendorDir . '/skowronline/taskbundle'), 'Symfony\\Bundle\\MonologBundle\\' => array($vendorDir . '/symfony/monolog-bundle'), 'Symfony\\Bundle\\AsseticBundle\\' => array($vendorDir . '/symfony/assetic-bundle'), 'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'), ); 

Espero que esto esté más claro.

Solución : https://getcomposer.org/doc/04-schema.md#repositories

Las declaraciones de repository de las dependencies 'composer.jsons' se ignoran.

Solutions Collecting From Web of "Repositorio privado Git"

Cuando utiliza la primera configuration con type package , le está diciendo al compositor que anule el composer.json en git@github.com:name/vendor.git . El parámetro de autocarga nunca se leerá. Puedes arreglar esto haciendo:

 { "type": "package", "package": { "name": "name/vendor", "version": "dev-master", "source": { "url": "git@github.com:name/vendor.git", "type": "git", "reference": "master" }, "autoload": { "psr-4": {<your autoload config>} } } } 

Cuando utilizas la segunda configuration, todo lo que haces es decirle al compositor que mire en git@github.com:name/vendor.git antes de downloadlo de packagist. En este caso, el compositor leerá el composer.json del repository, incluida la configuration de autocarga.

La segunda configuration es la preferida. Cuando usa una statement de package como en su primer ejemplo, está anulando la configuration original del autor del package. No hagas esto a less que tengas una buena razón.