J'utilise composer ( http://getcomposer.org/ ) pour gérer les ensembles installés dans le Symfony2
(symfony v 2.1.3). La version du compositeur est de3188c
.
Le problème, c'est que lorsque j'ajoute un nouveau paquet dans composer.json et que je l'exécute, le temps d'afficher des messages concernant la mise à jour des dépendances et le téléchargement suivant est très faible.
J'ai ces données dans le composer.json (voir ci-dessous) et le temps d'exécution est d'environ 20 minutes !!! La connexion Internet est assez rapide, je peux télécharger de gros fichiers très rapidement ...
Y a-t-il une astuce pour le rendre plus rapide?
{
"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.*",
"doctrine/doctrine-fixtures-bundle": "dev-master",
"webignition/doctrine-migrations-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"
}
Essayez de spécifier une version pour chaque dépendance dans composer.json et utilisez l'option --prefer-dist
lors de l'appel de composer. Il téléchargera les fichiers Zip des référentiels (si disponibles) au lieu des fichiers simples.
php composer.phar install --prefer-dist
Depuis que vous avez accepté une réponse, il semble que cela ait résolu votre problème. Au cas où quelqu'un tomberait sur cette question (comme je le faisais quand je cherchais), dans mon cas, une installation très lente de Composer avait à voir avec ma version PHP (mot d'avertissement, je suis un complet et débutant Composer novice), même si Composer vérifie ses contrôles standard et dit que tout va bien. J'utilisais Ubuntu 12.04 LTS et j'étais trop paresseux pour passer de la version par défaut PHP 5.3.10 (la même version que vous utilisez) dans le référentiel Precise.
L'installation de Twig via Composer m'a pris à l'origine environ 30 minutes. J'ai abandonné l'installation de Doctrine après plus d'une heure. Je suis passé à la version 5.4.17 (en utilisant ce PPA https://launchpad.net/~ondrej/+archive/php5 ) et l’installation de Doctrine s’est faite en quelques secondes.
J'ai trouvé que c'est aussi très lent, dans les dizaines de minutes lentes.
Pour moi, j’ai ajouté -vvv
et découvert qu’il était suspendu à des choses comme Downloading https://packagist.org/p/provider-active$53cdf887c8d2925b3501f47d6980fb7bda2310716369bf7a84857c6e62bbab0f.json
Je suis ensuite allé sur le navigateur et essayé de télécharger ce fichier JSON et bien sûr. C'était packagist.org pour être la cause de la lenteur.
Dans mon cas, les suggestions ci-dessus n'ont pas fait de différence. Ce qui a consisté à utiliser le protocole HTTPS
pour packagist
:
php composer.phar config --global repo.packagist composer https://packagist.org
ou
composer config --global repo.packagist composer https://packagist.org
en fonction de votre configuration
Pour diagnostiquer cette utilisation, j'ai utilisé la commande require command avec -vvv attribute.
composer require larapack/dd -vvv
Dans mon cas, j'ai constaté que la vitesse lente du compositeur était due à fxp/composer-asset-plugin.
composer global show
composer global remove fxp/composer-asset-plugin
et le tour est joué