想象一下捆绑冲突最小化

时间:2015-02-26 15:30:55

标签: symfony composer-php liipimaginebundle

我想在我的symfony 2项目中安装 liip / imagine-bundle 。但是为了制作条形码,我之前安装了 MopaBarcodeBundle

MopaBarcodeBundle需要" avalanche123 / imag-bundle"这需要想象/想象:v0.4.1

LiipImagineBundle需要想象/想象:~0.5,<0.7

显然作曲家会检测到冲突,因为他无法取消v0.4.1,而且该版本对于LiipImagine来说还不够。

我想知道如何绕过这个。在composer中创建各种别名并将这两个版本保留在我的项目中?我不是版本管理方面的专家,所以我想这是不可能的。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

好的,经过一些代码检查,我找到了解决方法。 MopaBarcodeBundle 并不真正需要 avalanche123 / imag-bundle ,但它在服务声明中使用它。 (与想象类建立链接。)

所以我更改了包含BarcodeService声明的service.xml文件。

<parameter key="imagine.gd.class">Imagine\Gd\Imagine</parameter>


<service id="imagine" alias="imagine.gd" /> 
<service id="imagine.gd" class="%imagine.gd.class%" />

我猜这些线路可以分解,但我选择保留它,就像在avalanche123中那样。

在第五个参数中也使用了雪崩的常数,我把它改为:

<argument>%kernel.root_dir%../web</argument>

最后我删除了雪崩,然后安装了较新版本的想象/想象