¿Cómo obtener una lista de todos los paquetes instalados junto con la versión en compositor?

He estado trabajando en un proyecto usando Symfony 2.1 en mi máquina local. Lo cargué en mi servidor, pero cuando bash instalar los paquetes de proveedores usando Composer, recibo muchos errores de dependencia. Presumiblemente, esto tiene que ver con la última versión de Symfony que acaba de lanzarse y mi archivo composer.json sin especificar los números de versión exactos.

¿Hay alguna manera de que pueda mostrar rápidamente los números de versión de todo en mi máquina local?

Aquí está mi archivo composer.json (que funcionó bien hasta hace unos días):

 { "name": "symfony/framework-standard-edition", "description": "The \"Symfony Standard Edition\" distribution", "autoload": { "psr-0": { "": "src/" } }, "require": { "php": ">=5.3.3", "symfony/symfony": "2.1.*", "doctrine/orm": ">=2.2.3,<2.4-dev", "doctrine/doctrine-bundle": "1.0.*", "twig/extensions": "1.0.*", "symfony/assetic-bundle": "2.1.*", "symfony/swiftmailer-bundle": "2.1.*", "symfony/monolog-bundle": "2.1.*", "sensio/distribution-bundle": "2.1.*", "sensio/framework-extra-bundle": "2.1.*", "sensio/generator-bundle": "2.1.*", "jms/security-extra-bundle": "1.2.*", "jms/di-extra-bundle": "1.1.*", "sonata-project/admin-bundle": "*", "sonata-project/cache-bundle": "dev-master", "sonata-project/doctrine-orm-admin-bundle": "dev-master", "stof/doctrine-extensions-bundle": "1.1.x-dev", "sonata-project/user-bundle": "dev-master", "sonata-project/easy-extends-bundle": "dev-master", "friendsofsymfony/user-bundle": "2.0.x-dev", "friendsofsymfony/jsrouting-bundle": "*", "liip/imagine-bundle": "*", "simplethings/form-extra-bundle": "dev-master", "antimattr/google-bundle": "dev-master", "doctrine/doctrine-fixtures-bundle": "dev-master", "genemu/form-bundle": "2.1.*", "behat/behat": "2.4.*@stable", "behat/mink": "1.4.*@stable", "behat/symfony2-extension": "*@stable", "behat/mink-extension": "*@stable", "behat/mink-selenium2-driver": "*@stable", "behat/mink-browserkit-driver": "*", "liip/functional-test-bundle": "dev-master" }, "scripts": { "post-install-cmd": [ "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" ], "post-update-cmd": [ "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" ] }, "minimum-stability": "dev", "extra": { "symfony-app-dir": "app", "symfony-web-dir": "web" }, "config": { "bin-dir": "bin/" } } 

    Puede ejecutar composer show -i (abreviatura de --installed ).

    En la última versión solo usa composer show .

    Las opciones -i han quedado obsoletas.

    También puede usar la instalación global del compositor: composer global show

    Para enumerar los paquetes de compositores instalados globalmente:

     composer global show -i 

    Listar dependencias instaladas:

    • Plano: composer show -i
    • Árbol: composer show -i -t

    --installed corto para --installed .

    -t abreviatura de --tree .

    ref: https://getcomposer.org/doc/03-cli.md#show

    El comportamiento de este comando ha sido modificado para que no tenga que pasar la opción -i :

     [10:19:05] coil@coil:~/workspace/api$ composer show -i You are using the deprecated option "installed". Only installed packages are shown by default now. The --all option can be used to show all packages. 

    La respuesta de Iván anterior es buena:

    composer global show -i

    Información agregada: si recibes un mensaje como:

    Composer could not find a composer.json file in ~/.composer

    … es posible que aún no tenga paquetes instalados. Si es así, puede ignorar la siguiente parte del mensaje que contiene:

    ... please create a composer.json file ...

    … como una vez que instala un paquete, el mensaje desaparecerá.

    Si solo desea verificar la versión de solo uno, puede hacer

     composer show -- twig/twig 

    Tenga en cuenta que solo los paquetes instalados se muestran por defecto ahora, y la opción instalada ahora está en desuso.

    Si desea instalar Symfony2.2, puede ver el cambio completo en su composer.json en el blog de Symfony .

    Simplemente actualice su archivo de acuerdo con eso y ejecute la composer update después de eso. Eso instalará todas las nuevas dependencias y Symfony2.2 en su proyecto.


    Si no desea actualizar a Symfony2.2, pero tiene errores de dependencia, debe publicarlos para que podamos ayudarlo.