composer包依賴衝突解決一例

daijunooo發表於2021-12-17
  • ~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 協議》,轉載必須註明作者和本文連結

相關文章