Composer dump-autoload 或 update 在 Laravel 5.5 上导致致命错误

Ale*_*exB 13 composer-php laravel-5

只是尝试运行 a 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
Run Code Online (Sandbox Code Playgroud)

在 G 上搜索以找到一些答案,但没有发现甚至远程关闭我在这里遇到的问题。

有什么建议?

Ale*_*exB 35

我刚刚找到了解决这个问题的方法。这里是为那些有同样问题的人准备的。

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

现在一切正常。

  • 在我的例子中,“composer update -- Preferred-source”再次制作“kylekatarnls”,问题就存在了。因此,删除“kylekatarnls”后,只需运行“composer dump-autoload”就足够了。 (2认同)

小智 10

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

Composer v2为其插件界面添加了一些新功能(即deactivate()uninstall()

但是kylekatarnls/update-helper< v1.2.1 正在实现上述接口,但没有实现新功能

因此,要修复,您需要更新kylekatarnls/update-helper到最新版本(撰写本文时为 v1.2.1),其中包含一个修复程序(实现了缺失的方法):

composer update kylekatarnls/update-helper
Run Code Online (Sandbox Code Playgroud)

  • 问题:https://github.com/kylekatarnls/update-helper/issues/7 (2认同)

小智 6

我删除了 vendor 目录和 composer.lock 文件。执行 composer install 后一切正常。


小智 5

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

composer self-update 1.10.22
rm -rf vendor
composer install
Run Code Online (Sandbox Code Playgroud)