与npm
之类的其他软件包管理器相比,我发现composer
在更新与给定项目相关的软件包时具有奇怪的行为。
还根据文档update
和upgrade
选项
根据composer.json将您的依赖项升级到最新版本,并更新composer.lock文件。
确实,composer.lock
已使用新的软件包版本号正确更新。但是composer.json
并没有被修改,而是列出了带有旧的,过时的版本号的软件包。
为什么会这样?我是在做错什么,还是这确实应该起作用?如果是这种情况,那么使两个文件之一保持最新而另一个文件不是最新的原因是什么?
答案 0 :(得分:4)
这是正常现象。
Composer更新会根据您的composer.json文件查找更新,因此此处将查找4.2及更高版本(^ 4.2) 如果您希望composer.json需要4.3及更高版本(^ 4.3),则可以手动对其进行修改,或者再次致电composer require。