使用 composer outdated 命令可检查项目中过期的依赖包,列出当前版本与最新稳定版,支持 –direct、–minor、–format=json 等选项过滤输出,建议更新前查看变更日志并在开发环境测试,确保兼容性。

要检查项目中哪些 Composer 包已经过期,可以使用 composer outdated 命令。这个命令会列出当前安装的依赖包中,有新版本可用的情况。
基本用法
在项目根目录下运行以下命令:
composer outdated
执行后,Composer 会显示一个列表,包含已安装包的当前版本、最新可用版本(稳定版),以及是否有更新(如 dev、alpha、beta 等)。
常用选项说明
- composer outdated –direct:只显示你直接在 composer.json 中声明的依赖,忽略间接依赖(即依赖的依赖)。
- composer outdated –minor:仅显示在同一主版本内的更新(例如从 2.1.0 到 2.3.0),忽略主版本升级(如 2.x 到 3.x),适合避免破坏性变更。
- composer outdated –outdated:这是默认行为,可省略。强调只显示有过期版本的包。
- composer outdated –format=json:以 json 格式输出结果,便于脚本处理。
- composer outdated –all:显示所有已安装的包,不管是否过期,方便全面查看版本状态。
实际输出示例
运行命令后可能看到类似输出:
phpunit/phpunit 9.5.10 → 9.6.13 symfony/console 5.4.0 → 6.0.2
这表示这两个包都有新版本可用。箭头左侧是当前版本,右侧是最新稳定版。
注意事项
更新包前建议:
- 查看包的 CHANGELOG 或升级指南,确认新版本是否有不兼容改动。
- 在开发环境中先测试更新:composer update vendor/package。
- 确保 composer.lock 文件和 vendor/ 目录处于版本控制中,便于回滚。
基本上就这些。用好 composer outdated 能帮你保持项目依赖的安全与稳定。


