Comment obtenir la liste de tous les packages installés ainsi que la version dans composer?


258

Je travaille sur un projet utilisant Symfony 2.1 sur ma machine locale. Je l'ai téléchargé sur mon serveur mais lorsque j'essaie d'installer les bundles de fournisseurs à l'aide de Composer, je reçois beaucoup d'erreurs de dépendance. Vraisemblablement, cela a quelque chose à voir avec la dernière version de Symfony qui vient d'être publiée et mon composer.jsonfichier ne spécifiant pas les numéros de version exacts.

Existe-t-il un moyen d'afficher rapidement les numéros de version de tout sur ma machine locale?

Voici mon fichier composer.json (qui a bien fonctionné jusqu'à il y a quelques jours):

{
    "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/"
    }
}

Réponses:


538

Vous pouvez courir composer show -i(court pour --installed).

Dans la dernière version, utilisez simplement composer show.

Les -ioptions sont obsolètes.

Vous pouvez également utiliser l' globalinstalation du compositeur:composer global show


écrivez ceci toute personne essayant d'obtenir ceci en utilisant composer.phar et php
Yashrajsinh Jadeja

9
L'option '-i' est désormais déconseillée. composer showrépertorie le package installé par défaut.
herve

Et cela va sans dire qui composer show --helpimprime toutes les options disponibles.
Gerard Roche

53

Pour répertorier les packages de compositeur installés globalement:

composer global show -i


12

Le comportement de cette commande a été modifié afin que vous n'ayez pas à passer l' -ioption:

[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.

10

Si vous ne voulez vérifier la version que pour une seule, vous pouvez le faire

composer show -- twig/twig

Notez que seuls les packages installés sont maintenant affichés par défaut et que l'option installée est désormais obsolète.


6

La réponse d'Ivan ci-dessus est bonne:

composer global show -i

Ajout d'informations: si vous obtenez un message un peu comme:

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

... vous n'avez peut-être pas encore installé de paquet. Si c'est le cas, vous pouvez ignorer la partie suivante du message contenant:

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

... comme une fois que vous avez installé un paquet, le message disparaîtra.


2

Si vous souhaitez installer Symfony2.2, vous pouvez voir la modification complète dans votre composer.json sur le blog Symfony .

Mettez simplement à jour votre fichier en fonction de cela et exécutez composer updateaprès cela. Cela installera toutes les nouvelles dépendances et Symfony2.2 sur votre projet.


Si vous ne souhaitez pas mettre à jour vers Symfony2.2, mais que vous avez des erreurs de dépendance, vous devez les publier, afin que nous puissions vous aider davantage.


Il s'avère que les problèmes que j'avais rencontrés étaient dus aux incompatibilités entre le groupe d'utilisateurs FOS 2x et le groupe d'utilisateurs de sonates
Dan

1
@ Dan, je pense que c'est parce que le SonataUserBundle n'a pas été configuré correctement. Cela a été corrigé hier.
Wouter J

0

Existe-t-il un moyen de l'obtenir via $ event-> getComposer () -> getRepositoryManager () -> getAllPackages ()

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.