Composer 的 bin-dir 配置项用于自定义可执行二进制文件的安装路径,支持项目级配置(如 "bin-dir": "bin")、全局配置(composer config -g)和临时覆盖(--bin-dir),需确保目录存在可写并更新 PATH 环境变量。

Composer 的 bin-dir 配置项用于指定项目中可执行二进制文件(如命令行工具)的安装路径。
它控制 vendor/bin 下的命令软链接或可执行文件存放位置
当你运行 composer require some/package,而该包在 composer.json 中声明了 "bin" 字段(例如 "bin": ["phpunit", "lar*el"]),Composer 默认会把对应的可执行文件(或符号链接)放到 vendor/bin/ 目录下。通过配置 bin-dir,你可以把这个目录改成别的位置,比如 bin/ 或 .bin/。
如何自定义 bin-dir
有三种常用方式:
-
项目级配置(推荐):在项目根目录的
composer.json中添加:
{"config": {"bin-dir": "bin"}}
```
执行 composer install 或 composer update 后,所有 bin 文件就会出现在项目根目录下的 bin/ 中。
Gaga
曹越团队开发的AI视频生成工具
1151
查看详情
-
全局配置:运行
composer config -g bin-dir /usr/local/bin,这样所有项目都会默认使用该路径(注意权限和系统 PATH 是否包含该路径)。 -
临时覆盖:用命令行参数,如
composer install --bin-dir=scripts,仅对当次命令生效。
注意事项和常见问题
自定义 bin-dir 后需注意:
- 确保目标目录存在且可写,否则 Composer 会报错;
- 如果改到项目外(如
/usr/local/bin),要注意避免权限冲突或覆盖系统命令; - 修改后,记得把新路径加入 shell 的
$PATH(尤其是全局或非 vendor/bin 路径),否则终端无法直接运行这些命令; - 某些 IDE 或工具(如 PHPStorm)可能默认只识别
vendor/bin,需手动配置路径。
基本上就这些。不复杂但容易忽略的是路径权限和环境变量同步——改完别忘了让 shell 知道新命令在哪。
以上就是Composer中的bin-dir配置项有什么作用?(如何自定义二进制文件目录)的详细内容,更多请关注php中文网其它相关文章!
# 可执行
# seo是什么服务器
# 海南seo优化报价
# 丹东大型网站建设地址
# 快手推广seo优化
# 海外推广网站哪个好做些
# 网站建设三个方面是什么
# 官网seo操作
# 博罗机械网站建设
# 酒吧网络营销推广方案
# 各大免费推广网站排行榜
# 就会
# 的是
# 如何将
# 配置文件
# php
# 如何解决
# 该怎么
# 命令行
# 有什么
# 自定义
# 常见问题
# 环境变量
# 工具
# composer
# json
# js
# laravel
# phpstorm
相关栏目:
【
企业资讯168 】
【
行业动态20933 】
【
网络营销52431 】
【
网络学院91036 】
【
运营推广7012 】
【
科技资讯60970 】
相关推荐:
实现分段式页面滚动导航:CSS与J*aScript教程
ACG动漫手机版官网入口 手机ACG动漫APP在线观看正版
内存检查:在VS Code中调试C++时的内存视图
Win10快速启动功能利弊分析 Win10开启或关闭快速启动教程【技巧】
反效果?《战地6》免费试玩开启后玩家数不升反降
Lar*el的路由模型绑定怎么用_Lar*el Route Model Binding简化控制器逻辑
如何使用 Excel 发布器与 Power BI 分享 Excel 洞察
Golang如何使用bytes.Split分割字节切片_Golang bytes切片分割方法
UE5.7引擎表现爆炸优化无敌!5090跑4K稳定60FPS
excel怎么制作工资条 excel快速生成工资条的方法
动漫共和国防屏蔽稳定域名-动漫共和国官方正版直达通道
J*a递归快速排序中静态变量导致数据累积的陷阱与解决方案
React/Next.js中实现列表项的动态选择与移动
如何使用spryker/configurable-bundles-products-resource-relationship模块解决复杂产品捆绑关系难题
必由学官方平台入口 必由学在线课堂登录地址
Python类型检查:优化关联可选属性的Mypy推断策略
Fabric Mod开发:在1.19.3+版本中正确添加自定义物品并管理物品组
sublime如何设置文件保存时自动格式化 _sublime prettier插件配置
邮政快递单号查询入口 邮政快递物流信息在线查询入口
Gmail邮箱申请注册直达_Gmail邮箱免费注册PC版官网入口2025
PyTorch模型训练效果不佳?深入剖析常见错误与调试技巧
Python中高效访问嵌套字典与列表中的键值对
Python模块化编程:有效管理依赖与避免循环引用
照顾宝贝2小游戏免费秒玩入口
Safari怎么安装扩展程序 浏览器插件安装与管理方法【详解】
俄罗斯Yandex免登录入口_Yandex搜索引擎官网一键直达
Win11怎么设置鼠标指针速度_Win11提高鼠标指针精确度选项
火狐浏览器占用内存高卡顿怎么办 火狐浏览器性能优化设置技巧
天眼查企业查询官网入口 天眼查官方网页版查询
c++如何使用TBB库进行任务并行_c++ Intel线程构建模块
移动端XML文件怎么转换成Excel 手机和平板上的解决方案
Fabric模组开发:自定义物品与物品组的现代管理方法
Flexbox布局实践:实现粘性导航栏与底部固定页脚
高德地图公交到站提醒失败如何解决 高德提醒权限设置
Excel函数批量查找替换超快方法_Excel用REPLACE和FIND函数秒级替换
如何在 Windows 11 中启动游戏手柄设置
mysql如何设置表访问权限_mysql表访问权限配置
Go语言中Map值调用指针接收器方法的限制与应对
海量存储:机器视觉智能化的核心基石
星露谷物语官网入口 星露谷物语游戏官网入口
Go语言中JSON数据解析与字段访问教程
sublime如何配置Go语言开发环境_sublime搭建Golang编译运行系统
台积电1.4nm工艺A14瞄准2028:10年来性能提升80%
Win10如何开启蓝牙功能_Windows10找不到蓝牙开关解决方法
从OpenAI API响应中高效提取生成文本
12306选座怎么选到临时改签座_12306改签选座策略与步骤
Golang切片为何属于引用类型_Golang slice底层结构与引用语义说明
如何在 Excel Online 和 Google 表格中更改日期格式
拼多多购物车商品数量无法修改如何处理 拼多多购物车操作优化方法
qq游戏手机版下载安装_qq游戏移动端入口


