–prefer-dist优先从压缩包安装,速度快、占用空间小,适合生产环境;–prefer-source优先从源码克隆,保留git历史,便于开发调试。

在使用 composer 安装或更新 php 包时,–prefer-dist 和 –prefer-source 是两个控制包安装方式的选项。它们的区别主要在于从哪里获取和如何安装依赖包。
–prefer-dist:优先从压缩包安装
这个选项告诉 Composer 优先从远程的压缩包(如 zip、tar.gz)下载并安装包。
- 安装速度更快,因为不需要克隆完整的 Git 仓库。
- 占用磁盘空间更小,不包含版本控制历史(.git 目录)。
- 适合生产环境或只想快速使用稳定版本的场景。
- 无法直接修改源码或切换分支,因为没有完整的源码仓库信息。
–prefer-source:优先从源码安装
这个选项会让 Composer 优先通过版本控制系统(通常是 Git)克隆包的完整源码。
- 会保留完整的 Git 历史记录,方便查看提交日志或切换分支。
- 适合开发调试、贡献代码或需要修改第三方包的场景。
- 安装较慢,占用更多磁盘空间。
- 可以在本地直接对包进行修改,并推送更改(如果权限允许)。
实际应用场景
如果你只是使用某个包,不需要改它的代码:
composer require some/package –prefer-dist
如果你正在调试一个包,或者想临时修改它:
composer require some/package –prefer-source
你也可以在 composer.json 中为特定包设置首选方式:
这表示大多数包用 dist 安装,但 some/package 强制用 source。
基本上就这些。选择哪个取决于你是使用者还是开发者。
以上就是composer require –prefer-dist 和 –prefer-source的区别的详细内容,更多请关注php中文网其它相关文章!


