Composer exec用于执行vendor/bin中的本地二进制文件,如:composer exec phpunit可跨平台运行且避免版本冲突,支持参数传递,需Composer 2.2+。

当你使用 Composer 安装 PHP 包时,许多包会提供可执行的二进制文件(如 phpunit、phpcs、phinx 等),这些文件通常被放在项目的 vendor/bin 目录中。为了方便运行这些工具,Composer 提供了 exec 命令来直接执行它们。
composer exec 是 Composer 2.2+ 引入的一个便捷命令,用于在当前项目上下文中安全地执行 vendor/bin 中的二进制文件。它会自动识别并调用正确的可执行文件,避免手动输入完整路径或依赖系统 PATH 配置。
示例:
你想运行项目本地安装的 PHPUnit:
composer exec phpunit
这条命令会查找 vendor/bin/phpunit 并执行它,等价于:
./vendor/bin/phpunit
.bat 或 .cmd,而 Linux/macOS 使用无后缀脚本。composer exec 能自动识别正确版本。vendor 中的工具版本,而不是全局安装的版本,避免版本冲突。./vendor/bin/xxx 路径。带参数的例子:
运行 phpcs 检查 src 目录:
composer exec phpcs -- --standard=PSR12 src/
注意:双横线 -- 之后的内容会被完整传递给 phpcs。
vendor/composer.json 中的 bin 字段。exec 命令需要 Composer 2.2 或更高版本。可通过 composer --version 查看。不用 composer exec,你也可以:
./vendor/bin/phpunit —— 有效但不够便携。phpunit —— 可能误用全局版本。scripts 定义别名,在 composer.json 中:"scripts": {
"test": "phpunit"
}然后运行 composer test,适合常用命令,但不如 exec 灵活。
基本上就这些。使用 composer exec 是运行本地依赖工具的推荐方式,简单、安全、跨平台。不复杂但容易忽略。
以上就是Composer exec命令在vendor目录执行二进制文件的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号