无法使用作曲家安装软件包
Posted
技术标签:
【中文标题】无法使用作曲家安装软件包【英文标题】:not able to install a package with composer 【发布时间】:2020-05-25 05:03:48 【问题描述】:您好,提前致谢。 我正在尝试使用 composer 安装一个包,但起初它给了我一个关于需要 ext-dom 和 ext-mbstring 扩展的错误,我解决了这个问题,但现在它给了我这个错误:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Conclusion: don't install illuminate/html v5.0.0
- Conclusion: remove laravel/framework v6.9.0
- Installation request for illuminate/html ^5.0 -> satisfiable by illuminate/html[5.0.x-dev, v5.0.0].
- Conclusion: don't install laravel/framework v6.9.0
- illuminate/html 5.0.x-dev requires illuminate/support ~5.0 -> satisfiable by illuminate/support[5.0.x-dev, 5.1.x-dev, 5.2.x-dev, 5.3.x-dev, 5.4.x-dev, 5.5.x-dev, 5.6.x-dev, 5.7.17, 5.7.18, 5.7.19, 5.7.x-dev, 5.8.x-dev, v5.0.0, v5.0.22, v5.0.25, v5.0.26, v5.0.28, v5.0.33, v5.0.4, v5.1.1, v5.1.13, v5.1.16, v5.1.2, v5.1.20, v5.1.22, v5.1.25, v5.1.28, v5.1.30, v5.1.31, v5.1.41, v5.1.6, v5.1.8, v5.2.0, v5.2.19, v5.2.21, v5.2.24, v5.2.25, v5.2.26, v5.2.27, v5.2.28, v5.2.31, v5.2.32, v5.2.37, v5.2.43, v5.2.45, v5.2.6, v5.2.7, v5.3.0, v5.3.16, v5.3.23, v5.3.4, v5.4.0, v5.4.13, v5.4.17, v5.4.19, v5.4.27, v5.4.36, v5.4.9, v5.5.0, v5.5.16, v5.5.17, v5.5.2, v5.5.28, v5.5.33, v5.5.34, v5.5.35, v5.5.36, v5.5.37, v5.5.39, v5.5.40, v5.5.41, v5.5.43, v5.5.44, v5.6.0, v5.6.1, v5.6.10, v5.6.11, v5.6.12, v5.6.13, v5.6.14, v5.6.15, v5.6.16, v5.6.17, v5.6.19, v5.6.2, v5.6.20, v5.6.21, v5.6.22, v5.6.23, v5.6.24, v5.6.25, v5.6.26, v5.6.27, v5.6.28, v5.6.29, v5.6.3, v5.6.30, v5.6.31, v5.6.32, v5.6.33, v5.6.34, v5.6.35, v5.6.36, v5.6.37, v5.6.38, v5.6.39, v5.6.4, v5.6.5, v5.6.6, v5.6.7, v5.6.8, v5.6.9, v5.7.0, v5.7.1, v5.7.10, v5.7.11, v5.7.15, v5.7.2, v5.7.20, v5.7.21, v5.7.22, v5.7.23, v5.7.26, v5.7.27, v5.7.28, v5.7.3, v5.7.4, v5.7.5, v5.7.6, v5.7.7, v5.7.8, v5.7.9, v5.8.0, v5.8.11, v5.8.12, v5.8.14, v5.8.15, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.20, v5.8.22, v5.8.24, v5.8.27, v5.8.28, v5.8.29, v5.8.3, v5.8.30, v5.8.31, v5.8.32, v5.8.33, v5.8.34, v5.8.35, v5.8.36, v5.8.4, v5.8.8, v5.8.9].
- don't install illuminate/support 5.5.x-dev|don't install laravel/framework v6.9.0
- don't install illuminate/support v5.5.0|don't install laravel/framework v6.9.0
- don't install illuminate/support v5.5.16|don't install laravel/framework v6.9.0
- don't install illuminate/support v5.5.17|don't install laravel/framework v6.9.0
- don't install illuminate/support v5.5.2|don't install laravel/framework v6.9.0
- don't install illuminate/support v5.5.28|don't install laravel/framework v6.9.0
- don't install illuminate/support v5.5.33|don't install laravel/framework v6.9.0
- don't install illuminate/support v5.5.34|don't install laravel/framework v6.9.0
- Installation request for laravel/framework (locked at v6.9.0, required as ^6.2) -> satisfiable by laravel/framework[v6.9.0].
【问题讨论】:
是Illumination/html吗? @ffflabs 是的 您能否在问题中包含您的composer.json
文件?
【参考方案1】:
经过进一步搜索,我发现 laravel v6 不再支持这个包,在 packagist 中我发现了这个:
此软件包已废弃且不再维护。作者建议改用 laravelcollective/html 包。
【讨论】:
确实如此。新包装是否达到了最初的目的?如果是这样,那么您可以将您的回答标记为正确的解决方案【参考方案2】:Link 您的软件依赖项存在不兼容的版本冲突。
同时,您想安装任何 Laravel 4.2.x 版本,并从其主分支安装“zizaco/entrust”。而那个 master 分支至少需要 Laravel 5.0(粗略地说)。
问题来自对分支的依赖。很可能 zizaco/entrust 包曾经在其 master 分支中使用 Laravel 4.2,并且您当时能够安装您的依赖项。但是,当此分支更新为不兼容的版本要求时,您将永远无法运行 composer update 并获取更新的依赖项。
始终使用标记版本!理想情况下,您使用允许兼容更新的宽松版本要求。这应该表示为波浪号两个数字的版本要求:~1.2 将安装 1.2.0 及更高版本(如 1.2.99 或 1.2.100),以及 1.3 及更高版本。如果您需要某个补丁版本:插入符号三数字版本 ^1.2.10 将安装 1.2.10 或更高版本,以及 1.3 及更高版本。
使用此版本要求而不是 dev-master 将允许您使用已发布版本而不是 master 分支中的不稳定状态,并允许您处理仍然适用于 Laravel 4.2 的最新版本。我想那将是 zizaco/entrust 1.3.0 版,但 1.2 版也符合条件。使用“zizaco/entrust”:“~1.2”。
【讨论】:
以上是关于无法使用作曲家安装软件包的主要内容,如果未能解决你的问题,请参考以下文章
我得到“您的要求无法解决为一组可安装的软件包。”当我运行作曲家更新
Composer 更新:您的要求无法解决为一组可安装的软件包