composer exec 并非原生命令,但可通过自定义脚本或 bamarni/composer-bin-plugin 插件实现调用 vendor/bin 下工具,如 phpunit、phpstan 等,推荐使用 scripts 定义常用命令以提升团队协作与执行安全。

当你使用 Composer 安装 PHP 工具时,很多命令行工具会被放在 vendor/bin 目录下,比如 PHPUnit、PHPStan、Laravel Artisan 的开发版本等。你可以通过 composer exec 来更方便地执行这些本地安装的命令。
注意:Composer 本身并没有内置一个叫 exec 的原生命令,但你可以在 composer.json 中定义自定义脚本,或使用社区提供的插件(如 hirak/prestissimo 不提供 exec,正确的是 bamarni/composer-bin-plugin 或直接用系统命令)。
不过,大多数情况下,“composer exec” 实际上是指通过 Composer 调用 vendor/bin 下的可执行文件,常见做法是利用 composer scripts 或直接运行命令。
最简单的方式是直接调用:
php vendor/bin/phpunit
或者如果你的系统支持可执行权限:
./vendor/bin/phpunit
这种方式不需要任何插件,适用于所有 Composer 项目。
在 composer.json 中添加自定义命令:
"scripts": {
"test": "phpunit",
"analyse": "phpstan analyse src/"
}
然后运行:
composer test
Composer 会自动在 vendor/bin 中查找 phpunit 命令,无需写完整路径。
如果你想使用类似 composer exec phpunit 的语法,可以安装这个插件:
composer require --dev bamarni/composer-bin-plugin
安装后,就可以这样执行命令:
composer exec phpunit
它会安全地调用 vendor/bin/phpunit,并确保不会误触全局命令。
composer exec phpstan analyse src/ -- -l 5,注意双横线处理参数。基本上就这些。虽然 Composer 没有原生 exec 命令,但通过脚本或插件,你可以实现一样的效果,而且更安全、更便携。
以上就是composer exec 命令:如何在 vendor/bin 中执行命令?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号