Исправляем ошибку fxp/composer-asset-plugin incompatible после обновления до composer 2

После обновления менеджера пакетов PHP composer до версии 2 появляется ошибка:

  [RuntimeException]                                                                                    
  No composer.json present in the current directory, this may be the cause of the following exception.

  [InvalidArgumentException]
  Package fxp/composer-asset-plugin at version has a PHP requirement incompatible with your PHP version, PHP extensions and Composer version 

Происходит из-за несовместимости fxp/composer-asset-plugin и composer версии 2.

Решение

Удаляем старый плагин

composer global remove fxp/composer-asset-plugin

Если появляется ошибка, связанная с папками bower или npm, добавляем в config.php приложения алиасы до соответствующих папок

Пример ошибки

mito/yii2-sentry[1.0.0, ..., 1.0.2] require bower-asset/raven-js
'modules' => [ ... ],
'aliases' => [
    '@bower' => '@vendor/bower-asset',
    '@npm' => '@vendor/npm-asset',
],

В composer.json добавляем

"repositories": [
    {
        "type": "composer",
        "url": "https://asset-packagist.org"
    }
]

Удаляем остатки fxp-asset (если есть):

"config": {
    "fxp-asset": {
        "installer-paths": {
            "npm-asset-library": "vendor/npm",
            "bower-asset-library": "vendor/bower"
        }
    }
}