web-dev-qa-db-ja.com

composer=の依存関係の更新がとても遅いのはなぜですか?

composer( http://getcomposer.org/ )を使用して、Symfony2(symfony v 2.1.3)。 composer is is de3188c

Composer.jsonに新しいバンドルを追加して実行すると、依存関係の更新と次のダウンロードに関するメッセージを表示する時間が非常に短いという問題があります。

Composer.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": [
        "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"
}
67
Myth Rush

Composer.jsonで各依存関係のバージョンを指定し、オプション--prefer-dist composerを呼び出すとき。単一のファイルではなく、リポジトリ(利用可能な場合)からZipファイルをダウンロードします。

php composer.phar install --prefer-dist
76
Roberto

回答を受け入れたので、問題が解決したようです。ただし、他の誰かがこの質問に出くわした場合(検索中にやったように)、私の場合、ComposerのインストールがPHPバージョン(Word Composer_がその標準的なチェックを実行し、すべてが正常であると言ったにもかかわらず、警告の、私は完全かつまったくComposer初心者です。 Ubuntu 12.04 LTSを実行していますが、PreciseリポジトリでデフォルトのPHP 5.3.10(実行中の同じバージョン)からアップグレードするにはあまりにも面倒でした。

TwigをComposer経由でインストールするのに、最初は約30分かかりました。 1時間以上かかった後、Doctrineのインストールをあきらめました。 5.4.17にアップグレードし(このPPA https://launchpad.net/~ondrej/+archive/php5 を使用)、Doctrineのインストールは数秒で完了しました。

23
badcook

私はまた、それが非常に遅いことを発見しました。

私は-vvvを追加しましたが、Downloading https://packagist.org/p/provider-active$53cdf887c8d2925b3501f47d6980fb7bda2310716369bf7a84857c6e62bbab0f.jsonのようなものでハングしていることがわかりました

それから私はブラウザに行き、そのJSONファイルをダウンロードしようとしました、そして十分に確かでした。遅延の原因はpackagist.orgでした。

14
Elijah Lynn

私の場合、上記の提案は違いをもたらしませんでした。したことは、HTTPSpackagistプロトコルを使用することでした。

php composer.phar config --global repo.packagist composer https://packagist.org

または

composer config --global repo.packagist composer https://packagist.org

設定に応じて

10
Reuben L.

この使用を診断するには、-vvv属性を指定したrequireコマンドを使用しました。

composer require larapack/dd -vvv

私の場合、composerの遅い速度はfxp/composer-asset-pluginが原因であることがわかりました。

composer global show
composer global remove fxp/composer-asset-plugin

そして出来上がり

0
Liam Kernighan