post-update-cmd在composer update时触发,用于依赖更新后的操作;post-install-cmd在composer install时执行,适用于安装或首次部署的初始化设置。

post-update-cmd 和 post-install-cmd 是 Composer 提供的两个不同的脚本事件,它们在执行时机上有明确区别:
post-update-cmd 的执行时机
当运行 composer update 命令时触发。这个命令会根据composer.json 中的版本约束,检查远程仓库并更新 composer.lock 文件,重新下载依赖包。
因此,post-update-cmd 会在所有依赖被重新解析和安装后执行,适用于需要在依赖变更后运行的操作,比如清除缓存、重新生成类映射或通知系统依赖已更新。
post-install-cmd 的执行时机
当运行 composer install 命令时触发。如果项目中已有composer.lock 文件,Composer 会严格按照该文件安装依赖;如果没有 lock 文件,则会先生成 lock 文件再安装。
这个事件常用于本地开发环境或部署时的一次性设置操作,比如创建配置文件、设置权限或执行数据库迁移。
关键区别总结
• composer update → 触发 post-update-cmd:主动升级依赖,可能改变 lock 文件 • composer install → 触发 post-install-cmd:按 lock 文件安装,不主动升级依赖 • 即使是首次运行install,也会触发 post-install-cmd,而不会触发 update 相关事件
基本上就这些,两个事件的设计是为了让你能针对“全新安装”和“依赖更新”做出不同响应。










