如何在没有依赖的情况下在composer中安装包
-
21-12-2019 - |
题
我在用 composer
和 symfony 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
您自己定义的版本。
不隶属于 StackOverflow