gpt4 book ai didi

php - 如何解释Composer的错误日志?

转载 作者:行者123 更新时间:2023-12-01 11:18:04 25 4
gpt4 key购买 nike

我在网络上做了很多研究,但是没有找到 Composer 错误日志的文档。在我发现的讨论中,没有人得到与错误日志一致的解释。例如:

  • [Support] Need explanation for "Conclusion: don't install ..."
  • Why composer says "Conclusion: don't install" when (seemingly) no obstacles are present?

  • 我知道, Composer 是做什么的并且可以自己解决问题,但是我经常必须为此查询packagist.org。尽管非常(和不必要)冗长,但 Composer 日志仅给了我一些提示。它并没有真正指出具体的问题。

    是否有人知道完整的文档或如何解释日志背后的原因,也许以上述示例为例?

    最佳答案

    可以在getcomposer.org/doc中找到Composer的文档,尤其是Troubleshooting部分。通常,依赖性问题来自composer.json的错误配置,而了解Composer日志则伴随着经验或对反复试验的学习。记录数百种可能的错误可能会很快过时。如果您认为某些特定的错误还不够清楚,可以随时在new suggestion处引发Composer's GitHub page
    如链接的GitHub issue中所建议,“结论:请勿安装”消息可能与 minimum-stability 中定义的需求有关。如linked question所示,另一个GH-7215可能与Composer的错误有关。
    失误
    这是一本小指南,解释了常见的Composer错误:


  • Can only install one of: org/package[x.y.z, X.Y.Z].


    如果您看到此消息,则可能是依赖性问题的主要原因。基本上,这意味着基于Composer的依赖关系计算,这两个版本都是必需的,但是只能安装一个主要版本(除非同时为不同的文件夹划分配置,否则您不能同时拥有x.y.z和X.Y.Z)。要查看why这些软件包是必需的,请使用composer why/depends命令并相应地调整依赖性。
    请参阅:How to resolve a "Can only install one of:" conflict?How to solve two packages requirements conflicts when running composer install?

  • Installation request for org/package2 (locked at vX.Y.Z)


    该消息表示存在针对org/package的安装请求,但是它被锁定在X.Y.Z。如果请求的版本与锁定版本不兼容(例如,不同的主版本),则不能同时安装两者。该消息通常与已经提到的“只能安装一个”一起出现。因此,每当您看到“锁定于”时,这意味着Composer将从composer.lock文件中读取已安装的软件包版本。要进行故障排除,您可以使用composer why/depends命令查找请求该软件包的原因并调整兼容性,否则,您可以尝试删除composer.lock文件并从头开始(最好从空文件夹开始)。
    另请:Installation failed for laravel/lumen-installer: guzzlehttp/guzzle locked at 6.3.0

  • org/package1 vx.y.z conflicts with org/package2[vX.Y.Z].


    这是与上述类似的问题,其中两个软件包存在冲突,您需要手动解决依赖关系。阅读消息的整个上下文可能会为您提供更多线索。检查依赖关系树也可能有所帮助(composer show -t)。

  • conflict with your requirements or minimum-stability


    此消息的含义与所读内容相同,因此您应检查所需的版本和minimum-stability设置。
    另请:But these conflict with your requirements or minimum-stability

  • 如有其他错误,请查看官方的 Composer's Troubleshooting page
    故障排除
    以下是一般如何解决Composer依赖关系问题的更多建议:
  • 在您的命令中添加-v/-vv/-vvv参数以获得更详细的输出。
  • 运行composer diagnose以检查常见错误,以帮助调试问题。
  • 如果看到“锁定在x.y.z”消息,则与锁定在composer.lock中的软件包有关。
  • 在空文件夹中测试您的composer.json
  • 将您的composer.json保持在最低限度。
  • 运行composer show -t以查看当前的依赖关系树。
  • 运行composer show -a org/package x.y.z以检查有关软件包的详细信息。
  • 在Stack Overflow上随意提问。

  • 要完全调试Composer的依赖关系问题,您可以:
  • 分析或修改源代码(例如 DependencyResolver/Problem.php )。
  • 通过断点或生成完整或部分跟踪文件,在XDebug下运行Composer。

  • 解释常见错误的有用线程:
  • How to resolve a "Can only install one of:" conflict?
  • composer.json fails to resolve installable set of package
  • Discover latest versions of Composer packages when dependencies are locked
  • When trying to install php-jwt facing trouble with auth0
  • Reference - "Your PHP version does not satisfy requirements" with Composer
  • 关于php - 如何解释Composer的错误日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48073506/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com