Почему обновление зависимостей в composer происходит так медленно?
Я использую composer (http://getcomposer.org/) для управления установленными пакетами в Symfony2
(symfony v 2.1.3). Версия композитора -de3188c
.
у меня есть проблема, что когда я добавляю новый пакет в композитор.json и выполнить его время, чтобы показать сообщения об обновлении зависимостей и затем загрузить их все очень низко.
у меня есть эти данные в композитора.json (см. ниже) и время выполнения составляет примерно 20 минут!!! Этот подключение к Интернету достаточно быстро я могу скачать большие файлы очень быстро...
есть ли какой-нибудь трюк, чтобы сделать это быстрее?
{
"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": [
"SensioBundleDistributionBundleComposerScriptHandler::buildBootstrap",
"SensioBundleDistributionBundleComposerScriptHandler::clearCache",
"SensioBundleDistributionBundleComposerScriptHandler::installAssets",
"SensioBundleDistributionBundleComposerScriptHandler::installRequirementsFile"
],
"post-update-cmd": [
"SensioBundleDistributionBundleComposerScriptHandler::buildBootstrap",
"SensioBundleDistributionBundleComposerScriptHandler::clearCache",
"SensioBundleDistributionBundleComposerScriptHandler::installAssets",
"SensioBundleDistributionBundleComposerScriptHandler::installRequirementsFile"
]
},
"minimum-stability": "dev",
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web"
}
5 ответов:
попробуйте указать версию для каждой зависимости в composer.json и использовать опцию
--prefer-dist
при вызове composer. Он будет загружать ZIP-файлы из репозиториев (если таковые имеются) вместо отдельных файлов.php composer.phar install --prefer-dist
поскольку вы приняли ответ, похоже, что это решило вашу проблему. На всякий случай, если кто-то еще наткнется на этот вопрос (как и я, когда я искал), в моем случае очень медленная установка композитора была связана с моей версией PHP (слово предупреждения, я полный и полный новичок в композиторе), хотя композитор прошел через свои стандартные проверки и сказал, что все в порядке. Я запускаю Ubuntu 12.04 LTS и был слишком ленив, чтобы обновить PHP по умолчанию 5.3.10 (та же версия вы работаете) в точном РЕПО.
установка Twig через Composer первоначально заняла у меня около 30 минут. Я отказался от установки доктрины после того, как это заняло больше часа. Я обновился до 5.4.17 (используя этот PPA https://launchpad.net/~ondrej / + archive / php5) и установка доктрины была выполнена за считанные секунды.
я обнаружил, что это также очень медленно, в десятки минут.
для меня, я добавил
-vvv
и обнаружил, что он висит на таких вещах, какDownloading https://packagist.org/p/provider-activecdf887c8d2925b3501f47d6980fb7bda2310716369bf7a84857c6e62bbab0f.json
затем я пошел в браузер и попытался загрузить этот файл JSON и, конечно же, достаточно. Это было ... packagist.org быть причиной медлительности.