Composer pre-install-cmd 和 post-install-cmd 有什么区别?(脚本钩子详解)

admin 百科 12
pre-install-cmd在依赖安装前执行,用于环境检查、清理缓存等准备;post-install-cmd在自动加载生成后执行,可用于权限修复、资源构建等收尾。

Composer pre-install-cmd 和 post-install-cmd 有什么区别?(脚本钩子详解)-第1张图片-佛山资讯网

pre-install-cmd 在 composer installcomposer update 执行依赖安装逻辑之前运行,适合做环境检查、清理缓存、备份配置等准备动作;post-install-cmd 则在所有包下载、解压、自动加载生成等核心流程完成之后执行,适合做权限修复、生成前端资源、触发服务重启等收尾工作。

pre-install-cmd:安装前的“安检员”

它会在 Composer 开始解析 composer.lock、下载 ZIP、写入 vendor/ 目录之前触发。此时 vendor/ 可能还不存在或不完整,不能依赖已安装的第三方类库(比如你自己的工具包还没装好)。

  • 适合检查 PHP 版本、扩展是否启用(如 ext-opcache)、.env 文件是否存在
  • 可安全执行 git clean -fdx vendor/ 或清空 bootstrap/cache/
  • 不能调用 Illuminate\Support\Str::class 这类尚未加载的类 —— 因为 autoloader 还没生成

post-install-cmd:安装后的“收尾人”

此时 vendor/autoload.php 已可 require,所有包已解压到位,autoload_filespsr-4 映射也已写入 vendor/composer/autoload_*.php。你可以放心使用项目中声明的所有依赖。

标签: php linux laravel js 前端 bootstrap git json composer npm 工具 m

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~