via usa update pagina oficial instalar entrar composer como php github composer-php

php - usa - ¿Cómo exigir correctamente una confirmación específica en Composer para que esté disponible para los paquetes dependientes?



pagina oficial composer (1)

Tendrá que solicitar explícitamente la biblioteca Gaufrette en ese hash, con un indicador de desarrollo, tanto en su biblioteca como en su aplicación. Algo así debería funcionar en la aplicación composer.json :

{ "name": "bar/bar-app", "repositories": [ { "type": "vcs", "url": "ssh://git.example.com/foo-lib" } ], "require-dev": { "foo/foo-lib": "dev-master", "knplabs/gaufrette": "dev-master#2633721877cae79ad461f3ca06f3f77fb4fce02e" } }

De la documentación :

Si una de sus dependencias tiene una dependencia en un paquete inestable, también debe requerirlo explícitamente, junto con su indicador de estabilidad suficiente.

La documentación también sugiere que deberá incluir el repositorio de Gaufrette en su archivo Composer bar/bar-app , aunque parece que esto no era necesario en este caso. No estoy seguro por qué.

Tengo una biblioteca foo/foo-lib que requires una confirmación específica de GitHub:

{ "name": "foo/foo-lib", "repositories": [ { "type": "vcs", "url": "https://github.com/KnpLabs/Gaufrette.git" } ], "require": { "knplabs/gaufrette": "dev-master#2633721877cae79ad461f3ca06f3f77fb4fce02e" } }

y funciona bien:

$ composer update Loading composer repositories with package information Updating dependencies (including require-dev) - Updating knplabs/gaufrette dev-master (2633721 => 2633721) Checking out 2633721877cae79ad461f3ca06f3f77fb4fce02e Generating autoload files

pero cuando requiero esa biblioteca en otro proyecto:

{ "name": "bar/bar-app", "repositories": [ { "type": "vcs", "url": "ssh://git.example.com/foo-lib" } ], "require-dev": { "foo/foo-lib": "dev-master" } }

produce un error de dependencia:

Your requirements could not be resolved to an installable set of packages. Problem 1 - Installation request for foo/foo-lib dev-master -> satisfiable by foo/foo-lib[dev-master]. - foo/foo-lib dev-master requires knplabs/gaufrette dev-master#2633721877cae79ad461f3ca06f3f77fb4fce02e -> no matching package found.

Entonces mi pregunta es: ¿cómo puedo solicitar correctamente la confirmación específica de GitHub en mi biblioteca, para que esté disponible en paquetes dependientes?