如何在 Composer 中使用 --prefer-dist 和 --prefer-source 选项?


--prefer-dist 用于生产环境,下载预构建压缩包,安装快、占空间小;--prefer-source 用于开发调试,克隆完整 Git 仓库,支持修改和提交。

如何在 composer 中使用 --prefer-dist 和 --prefer-source 选项?

在 Composer 中,--prefer-dist 和 --prefer-source 是控制依赖包安装方式的两个关键选项,它们影响的是包的获取来源和本地存储形式,直接关系到安装速度、磁盘占用和后续开发便利性。

什么时候用 --prefer-dist?

这是 Composer 的默认行为,适用于大多数生产环境或普通使用场景。它会优先从包的发布版本(如 GitHub 的 Release ZIP 包、Packagist 提供的压缩包)下载预构建的归档文件。

  • 安装更快:跳过 Git 克隆和历史检出,直接解压二进制包
  • 占用空间更小:不含 Git 元数据和开发分支历史
  • 适合部署:包内容稳定、可预期,不依赖远程仓库可用性
  • 执行命令:composer install --prefer-dist 或 composer update --prefer-dist

什么时候用 --prefer-source?

当你需要修改依赖源码、调试底层逻辑、或贡献补丁时,应使用该选项。它会通过 Git(或其他 VCS)克隆整个代码仓库到 vendor/ 目录下,并保留完整提交历史和分支信息。

  • 支持本地修改和提交:可直接在 vendor/xxx 中改代码、打补丁、切分支
  • 便于调试和跟踪:能用 git blame、git log 查看变更来源
  • 适合开发阶段或维护 fork:例如你正在为某个包提 PR,需基于其 dev-main 分支开发
  • 执行命令:composer install --prefer-source(注意:首次安装后,后续 composer update 默认仍走 dist,除非显式指定)

如何设置为项目默认行为?

不必每次输入参数,可在项目根目录的 composer.json 中配置:

HIX Translate HIX Translate

由 ChatGPT 提供支持的智能AI翻译器

HIX Translate 114 查看详情 HIX Translate
  • 全局设为 prefer-dist:"config": { "preferred-install": "dist" }
  • 全局设为 prefer-source:"config": { "preferred-install": "source" }
  • 按包类型区分(推荐):"preferred-install": { "*": "dist", "dev-*": "source" } —— 比如让所有 dev 包走 source,稳定版走 dist

一个小提醒:--prefer-source 不等于 --dev

这两个选项无关:--dev 控制是否安装 require-dev 中的包;而 --prefer-source 只决定已选包的获取方式。即使你不装 dev 包,也可以对正式依赖启用 source 安装。

基本上就这些。选哪个不复杂,但容易忽略背后的实际影响——要快就 dist,要改就 source。

以上就是如何在 Composer 中使用 --prefer-dist 和 --prefer-source 选项?的详细内容,更多请关注其它相关文章!


# 可选  # 软文推广和新闻营销区别  # 国家都有什么网站推广呢  # seo引擎优化广告  # 小程序产品推广营销  # 产品经理和seo  # 洛龙区网站优化公司推荐  # 南开区品牌营销推广公司  # 汉服文化推广营销策略  # 渑池网站建设报价表  # 黄冈市整合营销推广  # 中为  # 配置文件  # 压缩包  # 它会  # composer  # 设为  # 什么时候  # 多个  # 如何在  # 如何使用  # red  # 解压  # ai  # github  # json  # git  # js  # 选项 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894 】


相关推荐: 我居然低估了 DeepSeek,这次更新它做到了这些!  J*aScript实现网页表单实时输入字段比较与验证教程  Google Cloud Functions 时区处理指南:理解与最佳实践  PSD转AI文件的简单方法  泰拉瑞亚水晶无法放置问题  如何外贸网站设计-能留住客户提升用户体验!  J*a中导出MySQL表为SQL脚本的两种方法  精通VS Code多光标编辑以实现闪电般快速的修改  喜茶GO更换登录账号方法  Word 2003字体大小设置方法  消除网页顶部意外空白线:CSS布局常见问题与解决方案  Golang如何使用log记录日志信息_Golang log日志记录方法总结  苹果17 Pro如何启用分屏浏览_iPhone 17 Pro分屏浏览设置步骤  sublime如何配置PHP开发环境_在sublime中运行与调试PHP代码  漫蛙漫画官方网站使用_漫蛙manwa网页版在线入口教程  TikTok网页版入口快速访问 TikTok官网账号登录方法  Excel如何制作月度销售统计图_Excel动态图表制作与控件应用  《漫蛙manwa2》防走失网页版链接2025  SQLAlchemy 2.0 与 Pydantic 模型类型安全集成指南  J*aScript事件处理:优化键盘输入与表单提交的实践指南  《微信》视频号原创声明开启方法  Scipy Sparse CSR 矩阵非零元素行级遍历的最佳实践  动漫岛在线动漫网 动漫岛动漫在线观看官方入口  《飞猪旅行》购买汽车票方法  POKI小游戏在线免费入口链接 POKI小游戏无下载秒玩玩  VS Code的时间线(Timeline)视图:您的代码时光机  视频转蓝光m2ts格式  《健康大兴》注册方法介绍  Yandex俄罗斯搜索引擎官网入口 Yandex网页端直接访问  使用TinyButStrong生成HTML并结合Dompdf创建PDF教程  《下一站江湖2》独孤剑诀习得方法  悟空浏览器网页版链接 悟空浏览器网页版最新有效地址  excel怎么计算平均值 excel平均函数*ERAGE使用教学  英国搜索:多数英国人认为语言搜索是未来搜索  纯CSS实现滚动时动态时间轴线条颜色填充效果  QQ邮箱PC端登录页面_QQ邮箱网页版登录界面  抖音作品被限流怎么办 抖音内容优化与流量恢复方法  Vue 3中独立响应式实例的创建与应用  深入理解随机递归函数的确定性:内部节点、叶节点与时间复杂度分析  t3出行如何使用微信支付  Lar*el 中高效执行多列更新:单次查询实现  Excel宏怎么删除_Excel中删除宏的详细操作流程  Sublime怎么配置YAML文件格式化_Sublime YAML Formatter插件教程  个人所得税办理入口 个人所得税综合所得年度汇算入口  Python实战:高效处理实时数据流中的最小/最大值  如何在mysql中设计餐饮点餐系统_mysql点餐系统项目实战  悟空浏览器如何恢复关闭的标签页 悟空浏览器撤销关闭网页快捷键设置  小红书网页版首页入口 小红书网页版电脑端官方登录链接  跨语言测试实践:使用Python Selenium测试现有J*a Web项目  Leaflet地图弹出窗口图片动态显示:避免缺失图标的专业指南 

 2025-12-08

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.