–prefer-dist优先下载压缩包,安装快、占用小,适合生产环境;–prefer-source优先克隆源码,保留版本控制信息,便于开发调试。

在使用 composer 安装或更新 php 依赖时,–prefer-dist 和 –prefer-source 是两个控制包安装方式的选项。它们决定了 Composer 获取代码的具体方式。
–prefer-dist:优先从压缩包安装
该选项告诉 Composer 优先使用预打包的压缩文件(如 zip、tar.gz)来安装依赖。
- 安装速度更快,因为不需要执行版本控制命令(如 git clone)。
- 占用磁盘空间更小,不包含版本控制历史(.git 目录)。
- 适合生产环境或只想快速安装稳定版本的场景。
- 一旦包提供了 dist 分发版本,Composer 就会下载它而不是源码仓库。
–prefer-source:优先从源码仓库安装
该选项让 Composer 优先通过版本控制系统(通常是 Git)克隆源码来安装依赖。
- 会保留完整的版本控制信息(如 .git 文件夹),便于调试或修改依赖代码。
- 适合开发阶段,尤其是当你需要为某个依赖贡献代码或临时打补丁时。
- 占用空间更大,且安装稍慢,因为要克隆整个仓库历史。
- 方便切换分支、查看提交记录或提交更改。
实际使用示例
假设你正在开发一个项目并想查看某个组件的内部实现:
composer require monolog/monolog –prefer-source
这样 Monolog 会被以 Git 仓库形式拉取,你可以进入 vendor/monolog/monolog 查看提交历史或切换分支。
而在部署生产环境时,通常希望更快更轻量:
composer install –prefer-dist
确保所有包都以压缩包形式安装,减少不必要的版本控制数据。
基本上就这些。选择哪个取决于你是更注重效率还是开发灵活性。
以上就是composer的–prefer-dist和–prefer-source有什么区别的详细内容,更多请关注php中文网其它相关文章!


