Composer的config用于自定义行为,常用选项包括:1. vendor-dir设置依赖安装目录;2. bin-dir指定可执行文件路径;3. process-timeout调整命令执行超时时间;4. preferred-install控制包安装方式;5. autoloader-suffix为自动加载文件添加后缀;6. sort-packages使require包自动排序;7. platform模拟PHP环境防止不兼容;8. allow-plugins管理插件执行权限;9. cache-dir自定义缓存位置。合理配置可提升效率与一致性。

Composer 的 config 部分用于自定义 Composer 自身的行为,可以放在 composer.json 文件中的根级别 "config" 字段下。以下是一些常用的配置选项及其用途:
1. vendor-dir
指定 Composer 安装依赖包的目录,默认是 vendor。
{
"config": {
"vendor-dir": "libs"
}
}
这会把所有依赖安装到项目下的 libs 目录中。
2. bin-dir
设置可执行文件(binaries)的存放路径,默认是 vendor/bin。
{
"config": {
"bin-dir": "bin"
}
}
这样全局命令类工具(如phinx、phpunit等)会软链接到项目根目录的 bin 文件夹。
3. process-timeout
设置 Composer 执行外部命令时的最大等待时间(秒),默认为 300 秒。
如果网络较慢或执行长时间脚本,可适当调高。
示例:{
"config": {
"process-timeout": 600
}
}
4. preferred-install
控制包的安装方式:从源码(source)、dist 包(dist)或根据情况选择。
具有服装类网店的常用的功能和完善的商品类型管理、商品管理、配送支付管理、订单管理、会员分组、会员管理、查询统计和多项商品促销功能。系统具有静态HTML生成、UTF-8多语言支持、可视化模版引擎等技术特点,适合建立服装、鞋帽、服饰类网店。系统具有以下主要功能模块: 网站参数设置 - 对网站的一些参数进行个性化定义 会员类型设置 - 可以任意创建多个会员类型,设置不同会员类型的权限和价格级别 货币类型
-
"preferred-install": "dist"—— 优先使用压缩包,速度快 -
"preferred-install": "source"—— 优先克隆源码,适合开发调试 -
"preferred-install": {"my/package": "source"}—— 指定某个包用 source 安装
5. autoloader-suffix
为生成的自动加载文件(如 autoload.php)指定一个自定义后缀,避免命名冲突。
{
"config": {
"autoloader-suffix": "MyProject"
}
}
6. sort-packages
强制在运行 composer require 时对 require 和 require-dev 中的包按字母排序。
{
"config": {
"sort-packages": true
}
}
7. platform
模拟特定 PHP 版本或扩展环境,防止安装不兼容的依赖。
示例:{
"config": {
"platform": {
"php": "8.1.0",
"ext-mongodb": "1.9.0"
}
}
}
即使本地环境更高,Composer 也会基于此配置解析依赖。
8. allow-plugins
从 Composer 2.2+ 起引入,用于显式允许或禁止插件执行,提升安全性。
示例:{
"config": {
"allow-plugins": {
"dealerdirect/phpcodesniffer-composer-installer": true,
"phpstan/extension-installer": true
}
}
}
9. cache-dir
设置 Composer 缓存目录位置,可用于控制磁盘使用或 CI 环境优化。
示例:{
"config": {
"cache-dir": "/tmp/composer-cache"
}
}
基本上就这些常见的 config 选项。合理配置能提升开发效率、保证环境一致性,并避免一些常见问题。不需要每个都写,按项目需要添加即可。









