composer包依赖冲突解决一例

包版本栗子

  • ~1.2.3 代表 1.2.3 <= 版本号 < 1.3.0
  • ^1.2.3 代表 1.2.3 <= 版本号 < 2.0.0

查询版本依赖

composer depends guzzlehttp/guzzle

overtrue/easy-sms   2.0.4   requires  guzzlehttp/guzzle (^6.2 || ^7.0)
overtrue/socialite  2.0.24  requires  guzzlehttp/guzzle (^5.0|^6.0|^7.0)
overtrue/wechat     4.4.3   requires  guzzlehttp/guzzle (^6.2 || ^7.0)
  • 所以guzzlehttp/guzzle可装6.2以上版本或者7.0以上版本

案例

安装 beyondcode/laravel-websockets:2.0.0-beta.24 包

报依赖问题guzzlehttp/psr7必须使用 ^1.5 版本,但系统中已安装的是 ^2.1 的版本

查询依赖

  • composer depends guzzlehttp/psr7
  • 目前系统中只有 guzzlehttp/guzzle 用到了 guzzlehttp/psr7
  • (^1.8.3 || ^2.1) 这两个版本都可以
guzzlehttp/guzzle  7.4.0  requires  guzzlehttp/psr7 (^1.8.3 || ^2.1)

解决依赖问题

//移除现有的guzzlehttp/psr7
composer remove guzzlehttp/psr7

//安装两个包都支持的版本
composer require guzzlehttp/psr7:1.8.3

//安装目标开发包
composer require beyondcode/laravel-websockets:2.0.0-beta.24
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 1

好文章啊,这种问题还是偶尔会遇到,很好的解决方案。学习了,放进收藏夹里吃灰吧 ~

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!