Composer prefer-dist与prefer-source的适用场景

23次阅读

prefer-dist优先下载压缩包,适用于生产环境和快速部署,安装快且节省空间;prefer-source则克隆完整源码,适合开发调试和修改依赖,支持git操作但占用更多资源。

Composer prefer-dist与prefer-source的适用场景

在使用 composer 管理 php 项目依赖时,prefer-distprefer-source 是两种不同的包安装策略,它们决定了 Composer 如何获取和安装依赖包。理解它们的差异和适用场景,有助于提升开发效率或部署稳定性。

prefer-dist:优先使用压缩包(发布版本)

当设置 prefer-dist 时,Composer 会优先从版本控制系统(如 Git)打好的发布包(dist)中下载依赖,通常是 ZIP 或 TAR 压缩文件。

适用场景包括:

  • 生产环境部署:下载预构建的压缩包更快,不需要克隆整个代码仓库,节省时间和磁盘空间。
  • 追求安装速度:dist 包是静态资源,cdn 加速效果好,安装更迅速。
  • 不需要修改第三方源码:项目仅使用依赖功能,不涉及调试或定制源码。
  • 构建流水线(CI/CD):可重复、稳定的构建过程,避免因 VCS 变动影响安装。

注意:启用 prefer-dist 时,即使包有 Git 信息,也不会保留 .git 目录,无法直接进行版本控制操作。

prefer-source:优先克隆源码仓库

启用 prefer-source 后,Composer 会通过 Git 等版本控制工具克隆完整的源码仓库来安装依赖。

适合以下情况:

Composer prefer-dist与prefer-source的适用场景

造物云营销设计

造物云是一个在线3D营销设计平台,0基础也能做电商设计

Composer prefer-dist与prefer-source的适用场景 97

查看详情 Composer prefer-dist与prefer-source的适用场景

  • 开发调试第三方库:需要查看或修改某个依赖的源码,甚至在其内部打断点调试。
  • 本地开发联动多个项目:你同时在开发主项目和某个私有包,通过源码方式便于实时测试更改。
  • 提交补丁或贡献代码:需要基于源码提交 PR,保留 Git 历史以便操作。
  • 使用 dev 分支或自定义分支:某些功能尚未发布为稳定 dist 包,只能通过源码安装。

提示:使用 prefer-source 会占用更多磁盘空间,并且安装较慢,因为要拉取完整历史记录。

如何设置这两种模式

可以在全局或项目级别的 composer.json 中配置:

"config": {     "preferred-install": {         "my/private-package": "source",         "*": "dist"     },     "prefer-dist": true,     "prefer-source": false }

也可以通过命令行临时指定:

  • composer install --prefer-dist
  • composer install --prefer-source

此外,preferred-install 支持更细粒度控制,比如对特定包使用 source,其余用 dist。

基本上就这些。选择哪种方式,取决于你当前是处于快速部署阶段,还是深度开发调试阶段。合理使用,能显著提升工作效率

以上就是Composer prefer-dist与prefer-source的适用场景的详细内容,更多请关注php中文网其它相关文章!

text=ZqhQzanResources