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/"
}
}
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
Pour répertorier les packages composer installés globalement:
composer global show -i
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.
Répertoriez les dépendances installées:
composer show -i
composer show -i -t
-i
abréviation de --installed
.
-t
abréviation de --tree
.
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.
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.
Si vous souhaitez installer Symfony2.2, vous pouvez voir la modification complète dans votre composer.json
sur 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.