pre-update-cmd是在执行composer update前运行的脚本钩子,用于环境检查、备份、提示或清理缓存,仅在update命令流程中触发,不适用于install。

在 Composer 中,"pre-update-cmd" 是一个自定义脚本钩子,它在执行 composer update 命令之前运行,但前提是当前命令确实是 update。
pre-update-cmd 的执行时机
这个脚本钩子会在以下情况触发:
- 你手动运行
composer update时 - 运行
composer update的子命令,如composer update vendor/package - 通过其他 Composer 插件或工具间接调用
update命令(只要触发了 update 的主流程)
它会在依赖解析和下载开始前执行,适合用于执行一些前置检查或准备工作。
典型使用场景
开发者常利用这个钩子做以下事情:
- 环境检查:确认 PHP 版本、扩展是否满足要求
- 备份文件或配置:在更新前自动备份关键文件
- 提示信息:输出警告,提醒团队成员注意更新风险
- 清理缓存:清除旧的编译文件或 opcode 缓存
composer install,则不会触发 pre-update-cmd,而是触发 pre-install-cmd。
配置示例
在 composer.json 中定义:
"scripts": {
"pre-update-cmd": [
"@php check-env.php",
"echo '即将开始更新依赖,请确保已提交当前更改'"
]
}
基本上就这些。pre-update-cmd 就是在 update 执行前跑一次,简单直接,但很实用。










