更新时更新json文件中的composer依赖项

时间:2018-10-01 15:07:04

标签: composer-php

当我运行composer update时,很多依赖项和composer.json都会更新。但是,我的composer.json并没有改变,所以下次我运行composer install时,我会再次得到过时的。

例如,我有:

"require": {
        "symfony/form": "^4.1",
}

当我运行命令时,它显示:

  

更新symfony / dotenv(v4.1.4 => v4.1.5):从缓存加载

但是json行保持不变,并且composer install将安装4.1.4版本。

当我运行composer update时,是否可以更新composer.json文件?

谢谢!

1 个答案:

答案 0 :(得分:2)

执行composer.lock后,您应该拥有一个composer update文件。您将此文件提交到版本控制,然后下一个签出代码的人可以composer install来获取正确的版本。

composer.json文件包含版本约束,而composer.lock文件包含特定版本。

看看您的示例:

"require": {
        "symfony/form": "^4.1",
}

此处,symfony/form软件包的版本约束为^4.1。这意味着它将接受来自4.1的任何版本4,但不接受版本5或更高版本。因此它可以获得版本4.1.14.2.13或更高版本(但低于版本5)。

https://getcomposer.org/doc/articles/versions.md#caret-version-range-

这是有关锁定文件的文档 https://getcomposer.org/doc/02-libraries.md#lock-file