I installed the latest version (1.0.0. stable) of composer and in my Yii2 project I typed this:
php composer.phar update
It gives me this error
You can make a permanent fix by requiring it at global level and then it's solved for every other project. But then make sure you give the tip to all your team members.
Best is to add this at project scope and it solves to everybody that way.
So:
composer require fxp/composer-asset-plugin
I ended up resolving the issue by removing the fxp directory from the .composer directory. On my setup, this does the trick:
rm -rf ~/.composer/vendor/fxp
Now when something needs it, it can just re-download the updated plugin.
In my case project on Yii2
$ composer
[ReflectionException]
Class Fxp\Composer\AssetPlugin\Repository\NpmRepository does not exist
[ErrorException]
Declaration of Fxp\Composer\AssetPlugin\Repository\AbstractAssetsRepository
::whatProvides() should be compatible with Composer\Repository\ComposerRepo
sitory::whatProvides(Composer\DependencyResolver\Pool $pool, $name, $bypass
Filters = false)
Yii2, in folder vendor/fxp you need to replace the folder composer-asset-plugin or delete it.
About nine days ago (around end of March, 2016), Composer\Repository\ComposerRepository::whatProvides api changed. (#2668)
So, if you have installed fxp/composer-asset-plugin globally, you should update it. You can do that with:
php composer.phar global update fxp/composer-asset-plugin --no-plugins
Try to edit your global composer.json by running:
vi ~/.composer/composer.json then make sure you have this line on it:
{
"require": {
"fxp/composer-asset-plugin": "1.1.*"
}
}
the above answers did not work for me because the version of my fxp/composer-asset-plugin was like 1.1-beta04, when I changed it to "1.1.8" and run updating command:
php /usr/bin/composer global update fxp/composer-asset-plugin --no-plugins
It fixed the problem. but without editing my global composer.json, it was giving me this error:
Your requirements could not be resolved to an installable set of packages.
Problem 1 - Installation request for fxp/composer-asset-plugin 1.0.0-beta3 -> satisfiable by fxp/composer-asset-plugin[v1.0.0-beta3]. - fxp/composer-asset-plugin v1.0.0-beta3 requires composer-plugin-api 1.0.0 -> no matching package found.
Potential causes: - A typo in the package name - The package is not available in a stable-enough version according to your minimum-stability setting see https://getcomposer.org/doc/04-schema.md#minimum-stability for more details.
Read https://getcomposer.org/doc/articles/troubleshooting.md for further common problems.
Try this one if update doesn't work.
composer global require fxp/composer-asset-plugin --no-plugins