Composer怎么运行自定义脚本_Composer scripts配置与使用【开发】-composer

Composer 自定义脚本需在 composer.json 的 scripts 对象中定义键值对,键为脚本名(如 dev:clear-cache),值为命令字符串或数组,支持 PHP 方法调用、shell 命令及 Composer 命令,多条命令建议用数组确保顺序,@开头的命令由 Composer 自动解析路径。

Composer 运行自定义脚本,本质是通过 scripts 字段在 composer.json 中声明命令,再用 composer run 或别名触发 —— 不需要写 shell wrapper,也不依赖外部 Makefile。

怎么在 composer.json 里定义一个可运行的脚本

在 composer.json 的 scripts 对象中添加键值对,key 是脚本名(如 post-install-cmd 或自定义名 dev:clear-cache),value 是要执行的命令字符串或数组。支持 PHP 函数调用、shell 命令、其他 Composer 命令。

示例:

"scripts": {
  "dev:clear-cache": "php artisan cache:clear",
  "test:unit": ["@php vendor/bin/phpunit --testsuite=unit"],
  "pre-deploy": [
    "@composer install --no-dev --optimize-autoloader",
    "php -r \"file_put_contents('VERSION', trim(`git rev-parse HEAD`));\""
  ]
}
  • 单条命令可写字符串,多条建议用数组,保证执行顺序
  • 以 @ 开头的命令(如 @composer、@php)会被 Composer 自动解析为当前项目环境下的可执行路径,避免硬编码 ./vendor/bin/composer
  • PHP 函数调用需写成 MyClass::myMethod 形式,且类必须已加载(通常靠自动加载或 autoload-dev)

运行脚本时为什么提示 “Script not found” 或直接静默退出

常见原因不是拼写错误,而是脚本名未被识别或未满足触发条件:

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » Composer怎么运行自定义脚本_Composer scripts配置与使用【开发】-composer
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4023659+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4023659+
  • 本周更新: 0+
  • 最后更新: 2026-03-16