Composer 本身不支持原生并行执行脚本,但可通过 shell 后台任务(&)、npm-run-all 或 GNU Parallel 实现并发运行;需注意资源竞争、内存占用及交互命令冲突等问题。

Composer 本身不支持原生并行执行脚本,但可以通过组合系统命令和 Composer 的 run-script 命令 + 并行工具(如 GNU Parallel、npm-run-all 或 shell 的 &)来实现多个自定义脚本的并发运行。
用 shell 后台任务并行启动(最轻量)
适合本地快速验证或简单场景。在 composer.json 中定义好各脚本后,直接在终端用 & 启动多个 composer run-script:
- 确保脚本已定义,例如:
"lint": "phpcs app/",
"test": "phpunit --no-coverage",
"check-types": "phpstan analyse src/"
}
- 然后运行:
wait 保证终端等待所有后台进程结束,避免提前返回。
用 npm-run-all(推荐跨平台方案)
虽然名字带 npm,但它纯 Node 工具,可独立安装使用,支持 Windows/macOS/Linux,并提供统一的并行/串行语法:
- 全局或项目内安装:
npm install -D npm-run-all - 在
composer.json的 scripts 中添加封装命令:
"lint": "phpcs app/",
"test": "phpunit --no-coverage",
"check-types": "phpstan analyse src/",
"ci:check": "run-p lint test check-types"
}
运行 composer run-script ci:check 即可并行执行三个脚本。加 -r 可实时输出("ci:check": "run-p -r lint test check-types")。
标签: php linux js git json node composer windows github npm app u
还木有评论哦,快来抢沙发吧~