Laravel使用composer安装pusher/pusher-php-server出现依赖冲突问题
错误原因
你遇到的是依赖版本冲突问题:
- 最新版的
pusher/pusher-php-server 7.x要求guzzlehttp/guzzle版本 >=7.2 - 你当前项目的
composer.lock已经将guzzlehttp/guzzle锁定为7.1.1,虽然你composer.json中定义的guzzle约束^7.0.1本身允许升级到7.x的更高稳定版,但composer默认不会自动升级已锁定的依赖,因此出现版本冲突。
解决方案
方案1(最稳妥,无需修改现有依赖)
安装兼容guzzle 7.1.x的pusher低版本即可:
composer require pusher/pusher-php-server:^6.1
pusher/pusher-php-server 6.x版本完全适配Laravel 8的运行环境,功能上可以满足绝大多数场景的使用需求,不需要调整其他依赖包版本。
方案2(适用于必须使用pusher 7.x新特性的场景)
先升级guzzlehttp/guzzle到符合pusher 7.x要求的版本,再安装扩展:
# 升级guzzle到最新7.x稳定版 composer update guzzlehttp/guzzle # 安装pusher扩展 composer require pusher/pusher-php-server
注意:执行升级前建议先备份你的composer.lock文件,避免升级后其他依赖包出现兼容性问题。
内容的提问来源于stack exchange,提问作者gabogabans
相关产品推荐
相关产品推荐

