【问题标题】:Composer update failure作曲家更新失败
【发布时间】:2020-05-11 14:24:10
【问题描述】:

我知道已经为这个问题提供了许多解决方案,但我似乎无法找到答案。运行composer update 后,我收到此错误Problem 1。可能是什么问题?这是 composer.json 文件的“必需”部分。

"require": { "barryvdh/laravel-ide-helper": "~2.4", "doctrine/dbal": "~2.8", "dompdf/dompdf": "~0.8", "filp/whoops": "~2.2", "guzzlehttp/guzzle": "~6.3", "guzzlehttp/psr7": "~1.4", "illuminate/support": "^6.12", "intervention/image": "~2.4", "laracasts/utilities": "~2.1", "laravel/framework": "~5.6", "laravel/socialite": "~3.0", "laravelcollective/html": "^6.0", "league/flysystem-aws-s3-v3": "~1.0", "maatwebsite/excel": "~2.1", "maxhoffmann/parsedown-laravel": "dev-master", "mcamara/laravel-localization": "~1.2", "mews/purifier": "^2.1", "milon/barcode": "~5.3", "nitmedia/wkhtml2pdf": "dev-master", "omnipay/common": "~3", "omnipay/dummy": "~3", "omnipay/paypal": "~3", "omnipay/stripe": "3.1", "php-http/curl-client": "^1.7", "php-http/message": "^1.6", "predis/predis": "~1.1", "vinelab/http": "~1.5", "laravel/tinker": "^1.0", "stripe/stripe-php": "^6.43", "paynow/php-sdk": "^1.0", "berzel/paynow-php": "^1.1" }, "require-dev": { "phpunit/phpunit": "7.3.*", "phpspec/phpspec": "5.0.*", "fzaninotto/faker": "1.8.*", "symfony/dom-crawler": "~3.0", "symfony/css-selector": "~3.0" },

【问题讨论】:

  • 这通常是因为您需要的软件包或其依赖项之一的版本高于所需的另一个软件包的版本。例如,您可能请求 iluminate/support v6,但 laracasts/utilities 需要 v5 或相同的包
  • 不要分享错误图片的链接。链接可以关闭。错误的文本描述更好。你也可以分享你的 composer.json 文件吗?
  • laravelcollective/html 需要发光支持 v6 - 因此您需要需要一个需要发光支持 v5 的旧版本。可能还有更多需要 v6,但这是突出的。

标签: laravel composer-php


【解决方案1】:

您的一个或多个包正在寻找另一个/子包的不同版本。 Laravel 本身不仅依赖于一大堆不同的 3rd 方包,你安装的包也是如此。跟上所有这些是具有挑战性的。

如果查看报告的错误:

Laracasts/utilities 2.1 需要照明/支持 ~5.0

它告诉您,您尝试安装的这个特定软件包(Laracasts utils)需要来自 illuminate/supportv5。最有可能的是,如果您使用 Laravel V6,那么您很可能会引入与所需版本不同的 illuminate/support 包。

解决方案:

要么找到一个更新的 Laracast 包来接受新版本的 illuminate/support,要么将 Laravel 降低到 V5(这将引入旧版本的支持) .前者更好:)

【讨论】:

  • 除非我弄错了 composer.json 文件表明我使用的是 laravel 框架 V5.6。
  • 它可能是另一个包的依赖项,如果您将 composer.json 文件中所需的依赖项部分作为问题的一部分发布,将会很有帮助。
  • 我刚刚添加了composer.json文件。
  • laravelcollective/html 需要发光支持 v6 - 因此您需要需要一个需要发光支持 v5 的旧版本。可能还有更多需要 v6,但这是突出的。
  • 是的。您需要查看所有包(有时通过查看文档的依赖项,有时只需运行 composer 来查看出现的错误)以确保正确。更多的包=更多的依赖=更多的破坏潜力=更多的开发成本。另一种方法是尽可能减少你的包并编写你自己的内部代码。最后,随着版本的变化,它可能会节省一些麻烦和成本。
猜你喜欢
  • 2015-09-11
  • 2013-06-02
  • 1970-01-01
  • 2014-09-24
  • 2018-05-08
  • 2017-03-08
  • 2018-06-22
  • 2015-12-01
相关资源
最近更新 更多