1. ホーム
  2. php

composer の依存関係の更新が --prefer-dist フラグにもかかわらず遅い

2023-09-29 19:40:04

質問

composer の依存関係の更新に、変更がないにもかかわらず、最大で 2 分もかかるのはなぜですか。

A よくある提案 を追加することです。 --prefer-dist フラグを追加することです。

php composer.phar update --prefer-dist

しかし、これは私の場合、何の違いもありません。以下は私の composer.json ファイルですが、何か明らかなものを見逃していませんか?

{
    "name": "my-namespace/symfony",
    "type": "project",
    "description": "",
    "require": {
        "php": ">=5.3.3",
        "symfony/symfony": "2.3.*",
        "doctrine/orm": ">=2.2.3,<2.4-dev",
        "doctrine/doctrine-bundle": "1.2.*",
        "twig/extensions": "1.0.*",
        "symfony/assetic-bundle": "2.3.*",
        "symfony/monolog-bundle": "2.3.*",
        "sensio/framework-extra-bundle": "2.3.*",
        "sensio/generator-bundle": "2.3.*",
        "sensio/distribution-bundle": "2.2.*",
        "my-namespace/my-bundle": "1.0.*"
    },
   "repositories": [
        {
            "type": "vcs",
            "url": "http://username:[email protected]/my-bundle.git"
        }
    ],    
    "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"
        ]
    },
    "config": {
        "bin-dir": "bin"
    },
    "minimum-stability": "dev",
    "extra": {
        "symfony-app-dir": "app",
        "symfony-web-dir": "web",
        "branch-alias": {
            "dev-master": "2.3-dev"
        }
    }
}

どのように解決するのですか?

この問題は、多くの場合、CLI 環境で xdebug がロードされていることに関連しています。(xdebug が有効になっているかどうかは関係ありません)。

xdebug が有効になっているかどうかは、followinc コマンドの 1 つを使用して確認することができます。

// Unix
php -m | grep xdebug
// Windows
php -m | findstr xdebug

どのような操作に時間がかかるかについてのさらなる情報は、最大限の冗長性とプロファイリング情報を有効にすることで得ることができます。(置換 インストール アップデート を付けてください)。

composer install --prefer-dist -vvv --profile