在网上查了很多资料,都没有找到composer错误日志的文档。在我发现的讨论中,没有人给出与错误日志一致的解释。例如:
我知道作曲家做什么并且可以自己解决问题,但我经常需要为此咨询 packagist.org。尽管相当(并且不必要地)冗长,但作曲家日志只给了我一些提示。它并没有真正指出具体问题。
有谁知道完整的文档或如何解释日志背后的推理,也许以上述为例?
ken*_*orb 16
Composer 的文档可以在getcomposer.org/doc找到,特别是故障排除部分。通常依赖问题来自于你的错误配置composer.json和理解 Composer 日志带来的经验或反复试验的学习。记录数百个可能的错误可能很快就会过时。如果您认为某些特定错误不够清楚,您可以随时在Composer 的 GitHub 页面提出新建议。
正如链接的GitHub 问题中所建议的,“结论:不要安装”消息可能与minimum-stability. 另一个链接问题可能与GH-7215 中报告的 Composer 错误有关。
这是一个解释常见 Composer 错误的小指南:
只能安装以下之一:org/package[xyz, XYZ]。
如果您看到此消息,则这可能是依赖性问题的主要原因。这基本上意味着基于 Composer 的依赖计算,这两个版本都是必需的,但只能安装一个主要版本(您不能同时拥有 xyz 和 XYZ,除非您将配置拆分为不同的文件夹)。要查看why需要这些包,请使用composer why/depends命令并相应地调整依赖项。
org/package2 的安装请求(锁定在vX.YZ)
此消息表示存在对 org/package 的安装请求,但是,它被锁定在 XYZ。如果请求的版本与锁定版本不兼容(例如不同的主要版本),则您无法同时安装两者。此消息通常与已经提到的“只能安装一个”一起出现。因此,每当您看到“locked at”时,就意味着 Composer 从composer.lock文件中读取您安装的软件包版本。要排除故障,您可以使用composer why/depends命令查找请求包的原因并调整兼容性,否则,您可以尝试删除composer.lock文件并从头开始(最好从空文件夹开始)。
请参阅:laravel/lumen-installer 安装失败:guzzlehttp/guzzle 锁定在 6.3.0
org/package1 vx.yz与 org/package2[vX.YZ]冲突。
这是一个与上面类似的问题,其中两个包发生冲突,您需要手动解决依赖关系。阅读消息的整个上下文可能会给你更多的线索。检查依赖树也可能有帮助 ( composer show -t)。
与您的要求冲突或
minimum-stability
此消息表示阅读时的意思,因此您应该检查所需的版本和/或您的minimum-stability设置。
这可能是由于包被标记为不稳定而您的要求是“仅稳定的。请参阅:但这些与您的要求或最低稳定性相冲突
或者因为与其他已安装的软件包冲突。请参阅:如何确定阻止 Composer 安装最新版本软件包的原因?.
对于任何其他错误,请查看官方Composer 的故障排除页面。
以下是如何解决 Composer 依赖问题的更多建议:
-v/ -vv/-vvv参数到您的命令更详细的输出。composer diagnose以检查常见错误以帮助调试问题。composer.lock.composer.json在空文件夹上测试你的。composer.json最低限度。composer show -t以查看您当前的依赖树。composer show -a org/package x.y.z以检查有关包的详细信息。要完全调试 Composer 的依赖问题,您可以:
DependencyResolver/Problem.php)。解释常见错误的有用线程:
| 归档时间: |
|
| 查看次数: |
10935 次 |
| 最近记录: |