我在用 composersymfony php.

有一个 bundle A 依赖于另一个 bundle B v 1.1.

但我有最新版本 bundle B v 2.

现在我想安装 bundle A 无需安装其依赖项 bundle B v 1.1.

我该如何进行?请建议。

有帮助吗?

解决方案

设置:

最新的 ladybug-bundle 版本是 1.0.2 但与此同时还有更多的提交。它需要瓢虫版本是 1.0.8 其中也不包括最新的更改。

解决方案:

一个简单的解决方案是使用 内联别名. 。就像是:

"require" : {
    "raulfraile/ladybug-bundle": "dev-master as 1.0.3"
    "raulfraile/ladybug": "dev-master as 1.0.9"
}

选择:

您可以在您的文件中定义一个同名的包 作曲家.json 这包括改变的依赖关系。

只需从原始包中复制包定义,添加 dist/源位置并编辑需求即可。

然后,composer 将使用这个新的包定义,因为它从所有已知存储库中选择第一个匹配项(packagist 始终是最后查询的)。

您应该为 dist-zip 选择特定的提交。一个例子:

"repositories": [
    {
        "type": "package",
        "package": {
            "name": "raulfraile/ladybug-bundle",
            "version": "1.0.3",
            "require": {
               "raulfraile/ladybug" : "~1.0@dev"
            },
            "dist": {
                "url": "https://github.com/raulfraile/LadybugBundle/archive/5c3739a881313f63f7b47ace49af5deeed211362.zip",
                "type": "zip"
            },
        }
    }
],

现在要求 "raulfraile/ladybug-bundle": "~1.0" 在你的 作曲家.json 它将使用 1.0.3 您自己定义的版本。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top