【问题标题】:Composer dependency not met for large package [closed]大包不满足作曲家依赖性[关闭]
【发布时间】:2021-07-06 12:39:51
【问题描述】:

我需要在我的 Laravel 项目中安装一个包。我使用的是最新版本的 Laravel (8),它预装了;

"guzzlehttp/guzzle": "^7.0.1"

当我去安装新包时,我收到一条错误消息,指出它与我的项目不兼容。当我检查包的 composer.json 文件时,它提供以下作为依赖项;

"guzzlehttp/guzzle": "~6.0"

我需要这个包来继续我的项目。处理这个问题的最佳方法是什么?

【问题讨论】:

  • 请分享更多细节。安装 Guzzle v6 安装 Guzzle v7。两者都没有安装的好方法
  • 所以基本上你需要 Guzzle 版本 6 和 Laravel 8 吗?
  • 包不是我维护的,但是我已经要求他们更新了……但是是否可以包含包,然后更新包的composer.json?我不想降级我的项目
  • 什么包给你这个问题?您可以检查可用的分叉。也许有人遇到过这个问题并且已经解决了;)

标签: php laravel composer-php


【解决方案1】:

Laravel v8 需要 Guzzle v7。它与 Guzzle v6 不兼容。如果你想使用的任何包还不支持 Guzzle v7,你不能在你的 Laravel 项目中使用那个包——除非你将 Laravel 降级到 v7。

将包从 Guzzle v6 更新到 v7 可能并不容易,因为 list of breaking changes 并不那么短。但是,如果您向他的存储库提供拉取请求,您要使用的软件包的维护者肯定会非常感激

【讨论】:

  • 抱歉这个愚蠢的问题,但如果我创建了一个拉取请求,我是否需要将~6.0 更改为~7.0.1? ...这是正确的语法吗?
  • 这取决于您所做的更改。请记住,仅更改版本号可能还不够(这就是我提到重大更改的原因)
猜你喜欢
  • 2015-08-27
  • 2018-07-09
  • 1970-01-01
  • 2013-04-15
  • 1970-01-01
  • 2019-07-20
  • 1970-01-01
  • 2015-02-27
  • 1970-01-01
相关资源
最近更新 更多