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