作曲家:为什么我的某些软件包在安装新软件包时被自动删除

时间:2020-06-01 12:46:44

标签: composer-php

My composer status while installing the new package

我尝试通过composer在yii2上安装Stripe软件包。它已成功安装,但也自动删除了一些软件包。我没有编辑composer.json或锁定文件,我只是执行composer require命令来安装软件包。作曲家为什么要删除这些软件包,我如何将其恢复?有什么办法可以防止将来发生? 谢谢!

1 个答案:

答案 0 :(得分:0)

说您的项目 A 需要依赖项 B

依赖项 B 的版本1.1.x需要软件包 C

现在,如果您更新到依赖项 B 的版本1.2.x,它不再不再依赖于程序包 C {{1} }会自动检测孤立的依赖关系,因此删除软件包 C

如果您仍然希望软件包 C 在更新后可用于您的应用程序,则需要显式composer-使它成为显式依赖项,而不是隐式一个(作为另一个软件包的依赖项安装)。

如果调用require

composer会自动更新项目的其他依赖项(尊重composer.json的现有版本约束)。

要防止自动依赖性更新,请使用:

composer require