Composer 的 bin-dir 配置项用于自定义可执行二进制文件的安装路径,支持项目级配置(如 "bin-dir": "bin")、全局配置(composer config -g)和临时覆盖(--bin-dir),需确保目录存在可写并更新 PATH 环境变量。
Composer 的 bin-dir 配置项用于指定项目中可执行二进制文件(如命令行工具)的安装路径。
接或可执行文件存放位置当你运行 composer require some/package,而该包在 composer.json 中声明了 "bin" 字段(例如 "bin": ["phpunit", "laravel"]),Composer 默认会把对应的可执行文件(或符号链接)放到 vendor/bin/ 目录下。通过配置 bin-dir,你可以把这个目录改成别的位置,比如 bin/ 或 .bin/。
有三种常用方式:
composer.json 中添加:执行 composer install 或 composer update 后,所有 bin 文件就会出现在项目根目录下的 bin/ 中。
composer config -g bin-dir /usr/local/bin,这样所有项目都会默认使用该路径(注意权限和系统 PATH 是否包含该路径)。composer install --bin-dir=scripts,仅对当次命令生效。自定义 bin-dir 后需注意:
/usr/local/bin),要注意避免权限冲突或覆盖系统命令;$PATH(尤其是全局或非 vendor/bin 路径),否则终端无法直接运行这些命令;vendor/bin,需手动配置路径。基本上就这些。不复杂但容易忽略的是路径权限和环境变量同步——改完别忘了让 shell 知道新命令在哪。