是否可以从作曲家锁文件中的另一个包更新所需的依赖项?

时间:2018-06-07 13:55:22

标签: php symfony composer-php stofdoctrineextensions gedmo-tree

我目前在我的一个Symfony项目中使用stof/doctrine-extensions-bundle,此捆绑包需要gedmo/doctrine-extensionsgedmo/doctrine-extensions中的最新版本失败了。但解决方案是在其中一个兄弟分支 v2.4.x

https://github.com/Atlantic18/DoctrineExtensions/commit/0b7bdbefd3d166def27928dcd62ab67c11c8f172

是否可以在stof/doctrine-extensions-bundle的要求中添加此分支,还是应该等到捆绑包的所有者创建新标记?

2 个答案:

答案 0 :(得分:3)

查看stof / doctrine-extensions-bundle的composer.json需要块:

"gedmo/doctrine-extensions": "^2.3.4"

它支持版本2.3.4到< = 3.0.0。因此,您应该可以在项目中安装2.4.x版本而不会出现问题。 (Read about composer's version constraints here

您不应手动修改composer.lock文件,也不应修改供应商目录中的composer.json文件。只要它们与其他依赖性要求兼容,您就可以在自己的项目中需要不同版本的依赖项。

答案 1 :(得分:2)

由于此修补程序尚未发布,因此您需要为此依赖项使用分支。您可以通过以下方式执行此操作:

composer require "gedmo/doctrine-extensions:2.4.x-dev"

这会将此依赖项添加到项目的composer.json。但要小心这一点,并将其视为临时解决方法,直到稳定版本与此修复程序将被释放。通常不建议使用分支作为依赖关系。