当我运行时composer update,很多依赖项和我的 composer.json 都会更新。但是,我的composer.json没有改变,所以下次我运行时composer install,我会再次获得过时的。
例如,我有:
"require": {
"symfony/form": "^4.1",
}
Run Code Online (Sandbox Code Playgroud)
当我运行命令时它显示:
更新 symfony/dotenv (v4.1.4 => v4.1.5):从缓存加载
但是 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",
}
Run Code Online (Sandbox Code Playgroud)
这里symfony/form包的版本约束是^4.1. 这意味着它将接受来自 的任何版本 4 构建4.1,但不接受版本 5 或更高版本。因此它可以获得 version4.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
| 归档时间: |
|
| 查看次数: |
6935 次 |
| 最近记录: |