Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Composer dump-autoload or update results in fatal error on Laravel 5.5

Just tried to run a composer dump-autoload, but ended up with the following error, which I have never had previously

Class UpdateHelper\ComposerPlugin contains 2 abstract methods and must therefore be declared abstract or implement the remaining methods (Composer\Plugin\PluginInterface::deactivate, Composer\Plugin\PluginInterface::uninstall) in /var/www/vhosts/example.com/vendor/kylekatarnls/update-helper/src/UpdateHelper/ComposerPlugin.php on line 11

Searched on G to find some answers, but found nothing even remotely close the problem I am having here.

Any suggestions?

like image 431
AlexB Avatar asked Apr 15 '20 19:04

AlexB


3 Answers

I just found a solution to this problem. Here it is for those who have the same problem.

I have had to delete the directory kylekatarnls located inside my vendor directory then run composer update --prefer-source and after that composer dump-autoload.

Now all is working just fine.

like image 114
AlexB Avatar answered Oct 07 '22 19:10

AlexB


It seems like you're using Composer v2. If so, read on...

Composer v2 adds some new functions to their Plugin interface (namely deactivate() and uninstall())

However kylekatarnls/update-helper < v1.2.1 is implementing said interface but does not implement the new functions.

So to fix, you'll need to update kylekatarnls/update-helper to the latest (v1.2.1 at time of writing), which contains a fix (implements the missing methods):

composer update kylekatarnls/update-helper
like image 40
Sam Avatar answered Oct 07 '22 18:10

Sam


I remove the vendor directory and the composer.lock file. After execute composer install and all works well.

like image 7
Jose Juan Calvo Avatar answered Oct 07 '22 19:10

Jose Juan Calvo