php - 如何测试 composer.lock 是否是最新的?

标签 php bash composer-php

在开发过程中(团队中的多人)有时 composer install返回:

警告:锁定文件未与 composer.json 中的最新更改同步。您可能会得到过时的依赖项。运行更新以更新它们。

有没有一种方法可以非常快速地检查这一点(以毫秒为单位,无需进行任何更改)?

我了解 Composer 的工作原理。然而,当代码合并时,它不一定会导致 composer.json 上的合并冲突。或 composer.lock文件,运行 composer install 并不有趣几乎没有任何变化并且该命令需要几分钟的时间。

如果我能够快速测试锁定失败是否不同步,我可以将其构建到 bash 环境中以通知每个命令。类似于人们喜欢他们的 git status 的方式内置到他们的 bash 提示符中。

此外,这在 CI 中更有意义,以确保它确实潜入稳定分支。

最佳答案

在较新的版本(我想是 1.3+)上,您可以运行以下命令:

$ composer validate --no-check-all --no-check-publish

这可能会输出类似这样的内容(带有可捕获的错误退出代码):

./composer.json is valid for simple usage with composer but has
strict errors that make it unable to be published as a package:
See https://getcomposer.org/doc/04-schema.md for details on the 
schema
The lock file is not up to date with the latest changes in composer.json, it is recommended that you run `composer update`.

关于php - 如何测试 composer.lock 是否是最新的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28598089/

相关文章:

php - 如何使用 composer 安装 git 仓库的一部分?

symfony - 将 Symfony 4 应用程序部署到 Google App Engine 时出现安全检查器错误

php - 在启用 crsf 和安全组件的 cakephp 3.4 中通过 ajax 发送表单

php - 显示 PHP 表中的最新年份

php - 当我没有明文时,如何在 PHP 中为 htpasswd 文件生成 md5 哈希值

regex - bash(首选 sed 或 awk)删除第一个和最后一个实例之间的所有内容

javascript - 当通过 HTML 文件包含在 PHP 中时,AJAX Post 不再工作

Linux - 在一定时间内重复执行一条命令

windows - 是否可以在 Windows 10 git-bash 中使用 fzf(命令行模糊查找器)?

php - 使用composer安装cakePHP 3时出错