直接运行 composer run-script 即可,无需“手动触发”;它本质是执行 composer.json 中 “scripts” 字段定义的命令别名,立即执行而非事件驱动。
直接运行 composer run-script 就行,不用“手动触发”这种说法
Composer 脚本本质就是配置在 composer.json 的 "scripts" 字段里的命令别名。所谓“手动触发”,其实就是你在终端里敲下 composer run-script xxx —— 它不是后台监听或事件驱动的机制,没有“触发时机”一说,就是立即执行。
常见误区是以为要先注册、监听或写钩子;其实只要脚本名存在且命令合法,run-script 就能跑起来。
composer run-script 的实际用法和参数细节
基本格式是:composer run-script <script-name> [--] [<args>...]</args></script-name>。方括号里的 -- 很关键:它用来分隔 Composer 自身参数和脚本实际接收的参数。
- 不加
--:后面的参数会被 Composer 解析(可能报错或被忽略) - 加
--:后面所有内容原样透传给脚本命令,比如 PHP 脚本里的$argv或 shell 脚本里的$@ - 脚本名区分大小写,且必须完全匹配
composer.json中定义的键名 - 如果脚本定义为数组(如
["@php", "foo.php"]),Composer 会依次执行;定义为字符串则直接交给 shell
示例:composer run-script post-install-cmd -- --force,其中 --force 会传给实际执行的命令(比如某个 PHP CLI 脚本)。