iti*_*nce 3 php symfony composer-php
我的项目需要库A,A需要B1.B1坏了但是有一个叉子B2.我希望实现即使A需要B1而不是B2,作曲家也会安装B2而不是B1.
怎么做?
在symfony项目中,我们需要以下库:
"require": {
"emanueleminotto/twig-cache-bundle": "1.0.2",
}
Run Code Online (Sandbox Code Playgroud)
该库需要另一个当前已损坏的库:
"require": {
"asm89/twig-cache-extension": "^1.3"
},
Run Code Online (Sandbox Code Playgroud)
对于已损坏的库,已存在超过4个月的拉取请求,但维护者拒绝合并它.
我的问题是,如果有可能为子依赖关系覆盖依赖关系,那么总是使用修补的fork而不是原始的fork?
对于asm89/twig-cache-extension存在以下带有修复的fork:https://github.com/blackandred/twig-cache-extension
我试图将这个fork添加到我的composer.json并在"存储库"下明确注册了fork:
"repositories": [
{
"type": "git",
"url": "https://github.com/blackandred/twig-cache-extension"
}
],
Run Code Online (Sandbox Code Playgroud)
并在我的composer-json中添加了依赖项,并将更改后的版本添加到"dev-master":
"require": {
"asm89/twig-cache-extension": "dev-master",
"emanueleminotto/twig-cache-bundle": "1.0.2",
}
Run Code Online (Sandbox Code Playgroud)
但是由于emanueleminotto/twig-cache-bundle仍然需要原始库,因此composer忽略fork并安装原始库.
我能在这做什么吗?
我相信文档在这种情况下有一个很好的例子.
基本上你需要在composer.json中定义一个别名,如下所示:
"require": {
"asm89/twig-cache-extension": "dev-master as 1.3",
"emanueleminotto/twig-cache-bundle": "1.0.2",
}
Run Code Online (Sandbox Code Playgroud)
提问者添加:
仍然缺少一步: "composer update asm89/twig-cache-extension"
归档时间: |
|
查看次数: |
1426 次 |
最近记录: |