确定作曲家子依赖关系

时间:2014-02-12 04:50:54

标签: doctrine-orm zend-framework2 composer-php

我正在运行作曲家的更新,我的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

3 个答案:

答案 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将不会显示哪一个...唯一的解决方案是手动递归分析依赖项......?