我正在运行作曲家的更新,我的composer.json中定义的一个依赖项试图从不再存在的repo中提取子依赖项(非常烦人!)
如何确定哪个模块定义了所需的库,详细输出和干运行并没有给出太多指示
我的清单是:
"php": ">=5.3.3",
"zendframework/zendframework": "2.2.*",
"doctrine/doctrine-module": "0.8.*@dev",
"doctrine/doctrine-orm-module": "0.8.*@dev",
"gedmo/doctrine-extensions": "dev-master",
"hounddog/doctrine-data-fixture-module":"0.0.*",
"zf-commons/zfc-admin": ">=0.1.1",
"zf-commons/zfc-user": ">=0.1.1",
"zf-commons/zfc-user-doctrine-orm": ">=0.1.1",
"zf-commons/zfc-base": "v0.1.2",
"danielss89/zfc-user-admin": "dev-master",
"bjyoungblood/bjy-authorize":"1.4.*",
"zf-hipsters/bootstrap-flash-messenger": ">=1.0",
"spoonx/sxbootstrap": "3.*",
"manuakasam/sam-versioning" : "dev-master",
"neilime/zf2-twb-bundle": "2.0",
"rwoverdijk/assetmanager": "1.*",
"imagine/imagine": "0.6.*@dev",
"tawfekov/zf2entityaudit": ">=0.2-stable",
"evandotpro/edp-superluminal": "dev-master",
"netglue/zf2-route-layout-module": "dev-master",
"twbs/bootstrap":"3.*",
突然开始导致问题的丢失库是backplane\zendframework
答案 0 :(得分:3)
正如user1786423指出的那样,将zendframework 2.2 *和doctrine 0.8。*放在一起是个问题。
我所做的是我升级到zf 2.3。*像这样:
"php": ">=5.3.3",
"zendframework/zendframework": "2.3.*",
"doctrine/doctrine-orm-module": "0.*"
然后composer update
,一切顺利。
- Updating zendframework/zendframework (dev-master 6f2d379 => dev-develop 4d8a7eb)
Checking out 4d8a7ebdf3f628b10b9bfbf48babfaa3f903842b
- Updating doctrine/common (2.4.x-dev c94d6ff => dev-master 64e2a6a)
Checking out 64e2a6ae51db05a1ea0525913ed0dcccdc523f01
等
然后我需要再处理一个依赖冲突,特别是我的配置。
答案 1 :(得分:2)
backplane / zendframework是zf2的分支,后来被删除了,它定义了作曲家包“替换”zf2并且可能显示你的依赖关系不可满足时 - 作曲家尝试了一些替代方案并找到了 - 在我们遇到的情况下,有人问对于zf2.2。*和同时doctrine-(orm-)模块0.9.*@dev,因为doctrine模块需要zf2.3
您使用zf2.2。*和doctrine模块0.8.*@dev,因此它是其他一些子依赖项。
php composer.phar depends doctrine/doctrine-module
并检查版本。
确保backplane / zendframework不是任何地方的直接子依赖,问题在于版本不匹配和作曲家找到替代方案 - 填充issue
答案 2 :(得分:1)
通常你可以这样做;
composer depends backplane\zendframework
但似乎这是另一个依赖项的依赖项,而Composer将不会显示哪一个...唯一的解决方案是手动递归分析依赖项......?