作曲家转储-自动加载或更新会在Laravel 5.5上导致致命错误

时间:2020-04-15 19:23:23

标签: laravel-5 composer-php

只是尝试运行composer dum-autoload,但最终出现以下错误,这是我以前从未遇到过的

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

在G上搜索以找到一些答案,但什么也没发现,甚至解决了我在这里遇到的问题。

有什么建议吗?

4 个答案:

答案 0 :(得分:7)

我刚刚找到了解决此问题的方法。这是给那些有相同问题的人的。

我不得不删除位于kylekatarnls目录内的目录vendor,然后运行composer update --prefer-source,然后运行composer dump-autoload

现在一切正常。

答案 1 :(得分:6)

似乎您正在使用Composer v2。如果是这样,请继续阅读...

将Composer v2 adds some new functions插入其插件界面(即deactivate()uninstall()

但是kylekatarnls/update-helper 未实现新功能。

要解决此问题,您需要将kylekatarnls/update-helper更新到最新版本(在撰写本文时为v1.2.1),其中包含a fix(实现缺少的方法):

composer update kylekatarnls/update-helper

答案 2 :(得分:1)

我删除了供应商目录和composer.lock文件。执行作曲家安装后,一切正常。

答案 3 :(得分:1)

将 Composer 降级到版本 1 对我有用。

composer self-update 1.10.22
rm -rf vendor
composer install