答案:composer run-script 用于执行 composer.json 中定义的自定义或内置脚本,支持参数传递、静默运行、跳过开发依赖等选项,可触发生命周期事件、运行多命令数组,结合 -v 调试或 –no-dev 用于生产环境,提升自动化效率。

composer run-script 命令用于手动执行 composer.json 文件中定义的自定义脚本或 Composer 内置的脚本事件。它在自动化任务、开发流程控制和部署过程中非常有用。
基本语法
composer run-script [options] [–] zuojiankuohaophpcnscript> […]
script 是你要运行的脚本名称,可以是自定义脚本,也可以是 Composer 的标准事件(如 post-install-cmd)。
常见用法与示例
1. 运行自定义脚本
在 composer.json 中定义一个脚本:
“scripts”: { “hello-world”: “echo ‘Hello, World!'”, “notify”: “php notify.php”}
然后运行:
composer run-script hello-world
这会输出:Hello, World!
2. 传递参数给脚本
有时需要向脚本传递参数,使用双横线分隔:
composer run-script hello-world — –message=”Custom message”
注意:参数需由实际执行的命令处理,比如 PHP 脚本中通过 $argv 获取。
3. 运行内置事件脚本
Composer 定义了一些生命周期事件,例如:
pre-install-cmdpost-install-cmdpre-update-cmdpost-update-cmdpost-autoload-dump
你可以手动触发这些事件对应的脚本:
composer run-script post-update-cmd
这会执行 post-update-cmd 事件中注册的所有脚本,比如生成自动加载文件后执行优化操作。
4. 列出所有可用脚本
查看当前项目支持的所有脚本:
composer run-script
不指定脚本名称时,会列出 composer.json 中定义的所有脚本及其描述。
5. 静默模式运行
法语写作助手
法语助手旗下的AI智能写作平台,支持语法、拼写自动纠错,一键改写、润色你的法语作文。
31 查看详情
使用 –quiet 参数避免输出额外信息:
composer run-script hello-world –quiet
适用于在 CI/CD 环境中减少日志输出。
6. 使用 –no-dev 忽略开发依赖脚本
在生产环境中运行脚本时,可跳过 dev 阶段的脚本:
composer run-script post-install-cmd –no-dev
这确保只运行非开发环境下的脚本逻辑。
脚本类型说明
Composer 支持多种脚本执行方式:
直接命令:如 “echo ‘done'”PHP 回调:类的静态方法,格式为 ClassName::methodName闭包函数:仅在插件中使用
示例:
“scripts”: { “my-script”: [ “php generate-config.php”, “chmod 644 config.php” ]}
数组形式可按顺序执行多个命令。
实用技巧
调试脚本执行过程
添加 -v(verbose)选项查看详细执行信息:
composer run-script my-script -v
检查脚本是否存在
如果脚本名拼写错误,Composer 会提示 “Script not found”。建议先列出所有脚本确认名称。
结合 package scripts 使用
某些 Composer 包会在安装时注册自己的脚本(如 Laravel Pint 或 Symfony Flex),可通过 run-script 触发它们提供的功能。
基本上就这些。掌握 run-script 能更好地控制项目自动化流程,提升开发效率。
以上就是composer run-script命令的详细用法的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/537119.html
微信扫一扫
支付宝扫一扫