设置 preferred-install 可控制 Composer 安装依赖的默认方式:dist 优先下载压缩包,适合生产;source 优先克隆源码,便于调试;auto 为自动判断;可针对特定包如 vendor/* 精细化配置,影响安装速度、磁盘占用及代码修改能力。

设置 config.preferred-install 会影响 Composer 安装依赖包时使用的方式,决定是从源码(source)、可安装包(dist)还是根据情况自动选择。
理解 preferred-install 的选项
这个配置项控制 Composer 在没有明确指定安装方式时的默认行为。常见值包括:
- dist:优先下载预打包的压缩文件(如 zip、tar.gz),速度快,适合生产环境。
- source:优先从版本控制系统(如 Git)克隆源码,适合开发调试或需要修改依赖代码的场景。
- auto(默认):由 Composer 自动判断,通常对有版本号的包用 dist,dev 分支用 source。
- { "vendor/*": "source" }:可以针对特定包做精细化控制,比如让某个厂商的所有包都用 source 安装。
对项目的影响
选择不同的安装方式会带来以下实际影响:
- 使用 dist 能加快安装速度,减少磁盘占用,但无法直接修改依赖源码,也不包含版本控制历史。
- 使用 source 便于调试和贡献上游代码,尤其在使用
--prefer-source开发时更方便,但会增加克隆时间与空间开销。 - 如果团队协作开发且经常调试第三方包,设为 source 或按包指定 source 更合适。
如何设置
可在 composer.json 中添加:
"config": {
"preferred-install": "dist"
}
或针对特定包:
"config": {
"preferred-install": {
"mycompany/*": "source",
"default": "dist"
}
}
也可通过命令全局设置:composer config --global preferred-install dist










