【发布时间】:2017-04-21 07:29:24
【问题描述】:
TL;DR:
我的项目需要库 A,A 需要 B1。 B1坏了,但有一个叉子B2。 我想实现即使 A 需要 B1 而不是 B2,作曲家也会安装 B2 而不是 B1。
怎么做?
更详细:
在 symfony 项目中,我们需要以下库:
"require": {
"emanueleminotto/twig-cache-bundle": "1.0.2",
}
这个库requires itself另一个当前损坏的库:
"require": {
"asm89/twig-cache-extension": "^1.3"
},
对于损坏的库,pull request 已经存在 4 个多月了,但维护者拒绝合并它。
我的问题是,如果也可以覆盖子依赖项的依赖项,那么总是使用修补的分支而不是原始分支?
对于 asm89/twig-cache-extension,存在以下带有修复的分支:https://github.com/blackandred/twig-cache-extension
我尝试将这个 fork 添加到我的 composer.json 并在“repositories”下明确注册了这个 fork:
"repositories": [
{
"type": "git",
"url": "https://github.com/blackandred/twig-cache-extension"
}
],
并在我的 composer-json 中添加了依赖项,并将版本更改为“dev-master”:
"require": {
"asm89/twig-cache-extension": "dev-master",
"emanueleminotto/twig-cache-bundle": "1.0.2",
}
但由于 emanueleminotto/twig-cache-bundle 仍然需要原始库,因此作曲家忽略了 fork 并安装了原始库。
我能在这里做什么?
【问题讨论】:
标签: php symfony composer-php