【发布时间】:2018-08-27 16:44:05
【问题描述】:
我维护多个共享大量代码的存储库。所以我创建了这个 1 私有作曲家包,以避免在这些存储库中出现代码重复。现在我正在添加一些围绕 Mollie SDK 的代码。在我看来,这是非常明显的,因为这个包使用了 Mollie SDK,它必须满足作曲家的要求。
作曲家设置如下所示:
repository A ---requires---> private/package ---requires---> Mollie
当我在存储库 A 的根目录中运行:composer update private/package 时,我收到以下错误:
Problem 1
- *private/package* dev-master requires mollie/mollie-api-php ^2.0 -> satisfiable by mollie/mollie-api-php[v2.0.0, v2.0.0-beta-1, v2.0.1, v2.0.10, v2.0.11, v2.0.12, v2.0.2, v2.0.3, v2.0.4, v2.0.5, v2.0.6, v2.0.7, v2.0.8, v2.0.9] but these conflict with your requirements or minimum-stability.
- *private/package* dev-master requires mollie/mollie-api-php ^2.0 -> satisfiable by mollie/mollie-api-php[v2.0.0, v2.0.0-beta-1, v2.0.1, v2.0.10, v2.0.11, v2.0.12, v2.0.2, v2.0.3, v2.0.4, v2.0.5, v2.0.6, v2.0.7, v2.0.8, v2.0.9] but these conflict with your requirements or minimum-stability.
- Installation request for *private/package* dev-master@dev -> satisfiable by *private/package*[dev-master].
我尝试将 minimum-stability: dev 和 prefer-stable: true 添加到存储库 A 和 private/package 的 composer.json 中,但这没有任何改变。谁能帮帮我?
【问题讨论】:
-
请发布
Repository A的composer.json内容,假设它是您的根包。从技术上讲,composer 应该忽略 private/package/composer.json 的最低稳定性设置,因为minimum-stability适用于 root-package only,除非使用 private/package 中的composer install/update作为根。 -
您可以执行
composer why-not mollie/mollie-api-php:^2.0,它可能会告诉您是什么阻止了安装。一种可能性是,在 RepoA 中,您已经需要一个冲突版本(如^1)。 -
看起来像依赖问题。你需要莫莉吗? composer 需要 mollie/mollie-api-php 你也可以使用 composer check-platform-reqs 检查requeriments
-
使用
--with-all-dependencies开关会改变什么吗?composer update --with-all-dependencies private/package. -
感谢@TobiasK。 !没见过这个命令,很有帮助! :)
标签: php composer-php