bin文件是Composer包中的可执行命令行工具,如artisan或phpunit;bin-dir用于指定这些工具的存放目录,默认从Composer 2.0起已废弃,推荐使用vendor/bin或配置bin-path替代。

composer 中的 bin-dir 配置用于指定项目中可执行文件(二进制文件)的存放目录。
什么是 bin 文件?
一些 Composer 包会附带可执行命令行工具,比如 Laravel 的 artisan、Symfony 的 console 或 PHP-CS-Fixer 这类工具。这些可执行文件通常放在包的 bin/ 目录下。当通过 Composer 安装这些包时,Composer 会把这些可执行文件软链接或复制到你项目中统一的 bin-dir 目录中,方便调用。
配置方式
可以在 composer.json 的 config 字段中设置 bin-dir:
{ "config": { "bin-dir": "bin" } }这样,所有依赖包提供的二进制文件都会被放到项目根目录下的 bin/ 文件夹中。
注意:从 Composer 2.0 开始,bin-dir 已被标记为废弃(deprecated),推荐使用 vendor-bin-dir 或直接使用默认行为。默认情况下,Composer 会把二进制文件放在 vendor/bin,这是更标准的做法。
实际用途
- 便于运行本地安装的命令行工具,例如:php bin/phpunit 或 ./bin/php-cs-fixer
- 避免全局安装工具,保持项目环境隔离
- 配合脚本或 CI/CD 流程调用本地工具
基本上就这些。虽然 bin-dir 曾经有用,但现在建议直接使用 vendor/bin 路径,无需额外配置。如果确实需要自定义路径,也可以用 bin-path 替代(功能相同,更现代的写法)。










