跳转到主内容
极星编程网:以代码为星,赴技术山海!

composer如何查看脚本事件列表_composer run-script --list【事件】

composer run-script --list 只显示 composer.json 中 scripts 字段显式定义的脚本名,不显示未绑定的内置事件;需用 composer show --events 查看全部生命周期事件。 composer run-script --list 显示不了事件?先确认是否在项目根目录 执行
composer run-script --list
时空白或报错,大概率是因为当前不在含
composer.json
的项目根目录。Composer 脚本是项目级配置,不支持全局扫描。 用
ls composer.json
或
dir composer.json
确认文件存在 如果在子目录(如
src/
),
cd ..
回到上层再试 Windows 下注意路径大小写不影响,但 PowerShell 有时会缓存旧路径,建议新开终端 为什么 --list 不显示自定义脚本?检查 composer.json 的 scripts 字段
composer run-script --list
只列出
composer.json
中
scripts
对象下定义的键名,不会自动发现函数、命令或 vendor 里的钩子。 确保
composer.json
里有类似这样的结构:
"scripts": { "dev-start": "php -S localhost:8000 -t public", "test": "vendor/bin/phpunit" }
键名(如
dev-start
)才是事件名,值只是执行命令,不参与列表展示 如果
scripts
是空对象
{}
或根本不存在该字段,
--list
就只显示内置事件(如
post-install-cmd
)——但前提是没被禁用 内置事件(如 post-autoload-dump)为什么没出现在 --list 输出里?
composer run-script --list
默认只显示「显式定义」的脚本,不主动枚举 Composer 内置生命周期事件,除非你在
scripts
里手动绑定了它们。 Composer 2.9.6 Composer 2.9.6 是 PHP 生态中高效、稳定的依赖管理工具。此版本在性能与兼容性上进一步优化,改进了依赖解析算法,提升大型项目中的安装与更新速度。它支持并行下载任务,显著减少等待时间,并增强了与私有仓库及镜像源的交互稳定性。同时修复了多项命令行交互与内存使用相关的缺陷,确保在复杂依赖关系下依然可靠运行。无论是新项目初始化还是现有系统维护,Composer 2.9.6 都能为开发者提供流畅、精准的依赖管理体验。 下载 想触发
post-autoload-dump
,得先在
composer.json
里写:
"scripts": { "post-autoload-dump": "echo 'Autoload updated'" }
否则它只是后台默默运行的钩子,不会出现在
--list
结果中 完整内置事件列表见 Composer 官方文档,但记住:没绑定 = 不可见 = 不能用
run-script
直接调 想快速查所有可用事件名,用 composer show --events
composer run-script --list
功能有限,真正想看“哪些事件能被监听”,应该用更直接的命令:
composer show --events
会列出全部内置事件(包括
pre-install-cmd
、
post-update-cmd
等),按阶段分组,清晰明确 这个命令不要求项目有
scripts
,也不依赖当前目录是否有
composer.json
(只要已安装 Composer) 注意:它不显示你自定义的脚本名,只管生命周期事件;而
run-script --list
正好相反 两个命令互补,不是替代关系。搞混这点,就容易以为“没事件”或者“脚本失效”。

相关文章