web-dev-qa-db-fra.com

Comment obtenir la liste de tous les paquets installés avec la version dans composer?

J'ai travaillé sur un projet utilisant Symfony 2.1 sur mon ordinateur local. Je l'ai téléchargé sur mon serveur, mais lorsque j'essaie d'installer les ensembles de fournisseurs à l'aide de Composer, de nombreuses erreurs de dépendance se produisent. Vraisemblablement, cela a quelque chose à voir avec la dernière version de Symfony qui vient d'être publiée et mon fichier composer.json ne spécifiant pas les numéros de version exacts.

Est-il possible d’afficher rapidement les numéros de version de tout sur mon ordinateur local?

Voici mon fichier composer.json (qui fonctionnait bien 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/"
    }
}
214
Dan

Vous pouvez exécuter composer show -i (abréviation de --installed).

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

Les options -i sont obsolètes.

Vous pouvez également utiliser la global instalation du composeur: composer global show

448
Seldaek

Pour répertorier les packages composer installés globalement:

composer global show -i
48
Ivan

Le comportement de cette commande a été modifié afin que vous n'ayez pas à passer l'option -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.
11
COil

Répertoriez les dépendances installées:

  • Appartement: composer show -i
  • Arbre: composer show -i -t

-i abréviation de --installed.

-t abréviation de --tree.

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

11
vikyd

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

composer global show -i

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

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

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

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

... une fois que vous installez un paquet, le message disparaîtra.

6
Mark

Si vous voulez seulement vérifier la version pour un seul, vous pouvez faire

composer show -- twig/twig

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

6
Jean-Luc Barat

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

Il suffit de mettre à jour votre fichier en fonction de cela et d'exécuter composer update après cela. Cela installera toutes les nouvelles dépendances et Symfony2.2 sur votre projet.


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

2
Wouter J