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

标签 composer-php

当我跑 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/

相关文章:

php - 在 laravel 自己的包中创建自定义助手

laravel - 使用 composer 删除包(不更新其他包)

mysql - 有没有办法只使用 MySQL 来比较表的条件语句?

php - Laravel 无法添加新包

php - Laravel,没有 Shell Access 的转储自动加载

composer-php - 通过composer安装yii2-braintree的问题

symfony - Composer 更新和 KnpPaginatorBundle 的运行时异常

php - 将 Laravel 5.5 升级到 5.6 错误

php - 在依赖项被锁定时发现最新版本的 Composer 包

php - 下载 Laravel 时 Composer 非常慢