composer-php - 在更新时更新 json 文件中的作曲家依赖项
问题描述
当我运行时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 文件?
提前致谢!
解决方案
执行后应该有一个composer.lock
文件composer update
。您将此文件提交给版本控制,然后下一个人检查代码composer install
可以获得正确的版本。
该composer.json
文件包含版本约束,而该composer.lock
文件包含特定版本。
看看你的例子:
"require": {
"symfony/form": "^4.1",
}
这里包的版本约束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
推荐阅读
- linux - 有没有办法让机器 A 中的远程软链接重定向到“文件名”机器 B
- javascript - 轮监听器在事件发生后获取位置
- sap - SAP Cloud Platform 通过 CF CLI 部署 MTAR
- python - 将文本文件(.obj)数据写入python列表的函数用数据文件中的最后一个元素填充列表
- lotus-notes - 当文档选择不同的状态时如何显示错误。另一个是为什么复选框没有保存
- excel - 如何在 Angular 中将 Excel 模板的设计导入为对象
- python - 如何并行处理同一视频的不同部分?
- powershell - 无法断开连接到 office365 的 powershell 会话
- python - 通过groupby删除大纲熊猫?
- android - 无法使用服务上下文使用材质组件膨胀布局