composer run-script命令的详细用法

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

composer run-script命令的详细用法

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
MySQL 表字符集不同,如何找出字符内容相同的记录?
上一篇 2025年11月9日 13:15:38
小米17语音助手比iPhone17智能吗_小爱同学与Siri对比
下一篇 2025年11月9日 13:15:39

相关推荐

发表回复

登录后才能评论
关注微信