–prefer-dist 优先下载压缩包,安装快、占用空间小,适合生产环境;2. –prefer-source 优先克隆源码仓库,含完整历史记录,便于修改调试,适合开发环境;3. 可通过配置指定默认安装方式,未指定时 composer 自动选择。

在使用 Composer 安装或更新 php 依赖时,–prefer-dist 和 –prefer-source 是用来控制包的安装方式的参数。它们决定了 Composer 从哪里获取并如何安装依赖包。
–prefer-dist:优先从 dist(发行版本)安装
这个参数告诉 Composer 优先使用远程托管平台(如 gitHub、gitlab 或 Packagist)提供的压缩包(如 zip、tar.gz)来安装依赖。
特点:
- 安装速度快,因为直接下载预构建的归档文件
- 不包含版本控制系统的历史记录(比如 .git 文件夹)
- 适合生产环境,节省磁盘空间和时间
- 无法直接修改包的源码(因为不是克隆的仓库)
例如:当你运行 composer install --prefer-dist,Composer 会尝试从 dist URL 下载 zip 包来安装每个包。
–prefer-source:优先从 source(源代码仓库)安装
这个参数让 Composer 优先通过版本控制系统(通常是 git clone)克隆整个代码仓库来安装依赖。
特点:
- 会包含完整的版本历史(.git 目录等)
- 占用更多磁盘空间,安装较慢
- 方便调试或修改第三方包的源码
- 适合开发环境,特别是你想为某个依赖贡献代码或临时打补丁时
例如:运行 composer require some/package --prefer-source,Composer 会用 git clone 把这个包的完整仓库拉下来。
如果你没有指定这两个参数,Composer 会根据当前环境和配置自动选择一种方式。你也可以在 config 中设置默认行为,比如:
{ "config": { "preferred-install": { "some/package": "source", "*": "dist" } } }
这表示对特定包使用 source,其他都用 dist。
基本上就这些。简单说:–prefer-dist 快而轻,适合上线;–prefer-source 全而可改,适合开发。
以上就是composer的–prefer-dist和–prefer-source参数有什么用?的详细内容,更多请关注php中文网其它相关文章!