composer的"post-update-cmd"和"post-install-cmd"的触发时机

post-install-cmd在composer install执行后触发,用于依赖安装完成后的操作;post-update-cmd在composer update执行后触发,用于依赖更新后的处理。两者分别对应安装与更新命令,常用于自动化清除缓存、生成优化文件或执行迁移等任务,关键区别在于触发命令不同:install触发前者,update触发后者。

composer的"post-update-cmd"和"post-install-cmd"的触发时机 composer的"post-update-cmd"和"post-install-cmd"的触发时机

灵机语音

灵机语音

composer的"post-update-cmd"和"post-install-cmd"的触发时机56

查看详情 composer的"post-update-cmd"和"post-install-cmd"的触发时机

post-install-cmd 触发时机

当运行 composer install 命令时触发。 这个事件在以下情况被激活:

  • 项目依赖首次安装(即 vendor 目录不存在或未完全安装)
  • 当前 composer.lock 文件存在且与 composer.json 匹配,直接按 lock 文件安装依赖
  • 没有发生依赖版本更新,仅执行安装流程

简单说:只要执行了 install 并完成安装过程,就会触发,不管是否有包变化。

post-update-cmd 触发时机

当运行 composer update 命令时触发。 这个事件在以下场景中被调用:

  • 执行 composer update 更新全部或指定的包
  • 依赖版本发生变化(如升级到新版本、降级、新增或移除包)
  • composer.lock 文件可能被重新生成

注意:即使你只更新一个包(例如 composer update vendor/package),也会触发该事件。

常见使用场景

这两个事件常用于自动化部署后的操作,比如:

  • 清除缓存(如 Laravel 的 php artisan cache:clear
  • 生成自动加载优化文件(vendor0)
  • 执行数据库迁移或配置生成

示例配置:

 "scripts": {   "post-install-cmd": [     "php artisan clear-compiled",     "php artisan optimize"   ],   "post-update-cmd": [     "php artisan migrate",     "php artisan ide-helper:generate"   ] } 

基本上就这些。两者区别关键在于命令本身:install 触发前者,vendor2 触发后者,不复杂但容易忽略。

以上就是php laravel js json composer 区别 php laravel composer json 事件 数据库 自动化

php laravel js json composer 区别 php laravel composer json 事件 数据库 自动化

事件
上一篇
下一篇
text=ZqhQzanResources