为什么在更新软件包时未更新“ composer.json”?

时间:2019-12-20 12:28:50

标签: php composer-php updates package-managers

npm之类的其他软件包管理器相比,我发现composer在更新与给定项目相关的软件包时具有奇怪的行为。

还根据文档updateupgrade选项

  

根据composer.json将您的依赖项升级到最新版本,并更新composer.lock文件。

确实,composer.lock已使用新的软件包版本号正确更新。但是composer.json并没有被修改,而是列出了带有旧的,过时的版本号的软件包。

为什么会这样?我是在做错什么,还是这确实应该起作用?如果是这种情况,那么使两个文件之一保持最新而另一个文件不是最新的原因是什么?

1 个答案:

答案 0 :(得分:4)

这是正常现象。

Composer更新会根据您的composer.json文件查找更新,因此此处将查找4.2及更高版本(^ 4.2) 如果您希望composer.json需要4.3及更高版本(^ 4.3),则可以手动对其进行修改,或者再次致电composer require。