当我跑 composer update
,很多依赖项和我的 composer.json 得到更新。但是,我的 composer.json
没变,所以下次我跑 composer install
,我会再次得到过时的。
例如,我有:
"require": {
"symfony/form": "^4.1",
}
当我运行命令时它显示:
Updating symfony/dotenv (v4.1.4 => v4.1.5): Loading from cache
但是 json 行保持不变,并且
composer install
将安装 4.1.4
版本。当我运行 composer update 时,有没有办法更新 composer.json 文件?
提前致谢!
最佳答案
你应该有一个 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.1
, 或 4.2.13
或更高(但低于第 5 版)。https://getcomposer.org/doc/articles/versions.md#caret-version-range-
这是关于锁定文件的文档
https://getcomposer.org/doc/02-libraries.md#lock-file
关于composer-php - 更新时更新 json 文件中的 Composer 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52593987/