1. ホーム
  2. php

[解決済み] Composer throws [ReflectionException] Class FxpComposer⇄AssetPlugin⇄Repository⇄NpmRepository does not exist

2023-08-21 12:14:52

質問

composer の最新版 (1.0.0. stable) をインストールし、Yii2 プロジェクトで次のように入力しました。

php composer.phar update

こんなエラーが出ます。

[ReflectionException] Class FxpComposerAssetPluginRepository does not exist

[ErrorException] FxpComposerAssetPluginRepositoryAbstractAssetsRepository::whatProvides() の宣言は ComposerRepositoryComposerRepository::whatProvides(ComposerDependencyResolverPool $pool, $name, $bypassFilters = false) と互換である必要があるようです。

誰かこれを修正する方法を教えてください。

私のcomposer.jsonは以下の通りです。

{
    "name": "yiisoft/yii2-app-advanced",
    "description": "Yii 2 Advanced Project Template",
    "keywords": ["yii2", "framework", "advanced", "project template"],
    "homepage": "http://www.yiiframework.com/",
    "type": "project",
    "license": "BSD-3-Clause",
    "support": {
        "issues": "https://github.com/yiisoft/yii2/issues?state=open",
        "forum": "http://www.yiiframework.com/forum/",
        "wiki": "http://www.yiiframework.com/wiki/",
        "irc": "irc://irc.freenode.net/yii",
        "source": "https://github.com/yiisoft/yii2"
    },
    "minimum-stability": "stable",
    "require": {
        "php": ">=5.4.0",
        "yiisoft/yii2": ">=2.0.6",
        "yiisoft/yii2-bootstrap": "*",
        "yiisoft/yii2-swiftmailer": "*",
        "kartik-v/yii2-widget-fileinput": "@dev",
        "golonka/bbcodeparser": "^2.2"
    },
    "require-dev": {
        "yiisoft/yii2-codeception": "*",
        "yiisoft/yii2-debug": "*",
        "yiisoft/yii2-gii": "*",
        "yiisoft/yii2-faker": "*"
    },
    "config": {
        "process-timeout": 1800
    },
    "extra": {
        "asset-installer-paths": {
            "npm-asset-library": "vendor/npm",
            "bower-asset-library": "vendor/bower"
        }
    }
}

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

約9日前(2016年3月末頃)です。 Composer\Repository\ComposerRepository::whatProvides のapiが変更になりました。( #2668 ) というわけで、もしあなたが fxp/composer-asset-plugin をグローバルにインストールしている場合は、それを更新する必要があります。でできます。

php composer.phar global update fxp/composer-asset-plugin --no-plugins