Windows安装Laravel7时出现ComposerPlugin类PHP致命错误
问题根因
该报错和你当前使用的PHP 7.3.27版本无关,核心原因是本地运行的Composer为2.x及以上版本,而依赖链中拉取的kylekatarnls/update-helper旧版本不兼容Composer 2.x的插件接口规范:Composer 2.x的PluginInterface新增了deactivate、uninstall两个必须实现的抽象方法,旧版本插件未实现对应方法,就会触发PHP致命错误。执行composer update无效是因为Laravel项目还未创建完成,依赖安装流程中途中断,update命令无法在残缺的依赖环境下正常运行。
可行解决方案
按优先级从高到低尝试以下操作:
- 升级全局兼容依赖后重装
首先在命令行执行以下命令,将全局安装的update-helper包升级到兼容Composer 2.x的版本:
升级完成后清除Composer本地缓存:composer global require kylekatarnls/update-helper:^1.2.1
缓存清理完成后,重新执行原Laravel 7安装命令即可:composer clearcachecomposer create-project --prefer-dist laravel/laravel:^7.0 learning-app - 加参数跳过插件加载完成安装
如果上述操作执行后仍报错,可以在安装命令后追加--no-plugins参数,临时跳过所有Composer插件的加载流程,直接规避插件不兼容的报错:
等项目创建完成、所有依赖安装结束后,进入项目目录执行composer create-project --prefer-dist laravel/laravel:^7.0 learning-app --no-pluginscomposer update将所有依赖更新到适配版本,后续即可正常使用。 - 临时降级Composer版本(不推荐,Composer 1.x已停止维护)
如果前两种方案都未生效,可以先将本地Composer回退到1.x最终稳定版,安装完成后再切回2.x版本:
回退完成后重新执行Laravel安装命令即可,安装完成后执行composer self-update --1composer self-update --2即可切回Composer 2.x版本。
内容的提问来源于stack exchange,提问作者Praful
相关产品推荐
相关产品推荐

