快速导航×

Composer的 archive 命令怎么用_快速打包你的PHP项目及其Composer依赖2025-12-01 12:53:02
Composer 的 archive 命令可快速将 PHP 项目打包为 tar 或 zip 文件,便于分发部署;默认读取 composer.json 生成如 my-project-1.0.0.tar 的文件,不包含 vendor 目录;通过 --format=zip --dir=dist/ 可指定格式和输出路径;使用 --with-dependencies 可包含依赖,适合离线部署;支持对指定包如 vendor/package-name 打包;通过 .gitattributes 中的 export-ignore 规则可排除 tests、配置文件等;合理配置版本号与 .gitattributes,结合参数可高效生成轻量部署包。

composer的 archive 命令怎么用_快速打包你的php项目及其composer依赖

Composer 的 archive 命令可以快速将你的 PHP 项目打包成压缩文件,方便分发或部署。它不仅能打包项目源码,还能结合 Composer 配置控制打包内容,比如是否包含依赖、排除特定目录等。

基本用法:打包当前项目

在项目根目录下运行以下命令:

composer archive

默认情况下,该命令会:

  • 读取当前项目的 composer.json
  • 使用项目名称和版本号生成文件名(如 my-project-1.0.0.tar
  • 打包当前项目中所有符合规则的文件
  • 不包含 vendor/ 目录中的依赖(除非特别配置)

指定格式和目标目录

你可以自定义打包格式和输出位置:

composer archive --format=zip --dir=dist/

这会生成一个 zip 文件,并保存到 dist/ 目录下。支持的格式有 tarzip

包含依赖库(vendor)

如果你希望打包时包含所有已安装的依赖:

composer archive --with-dependencies

这个选项会把 vendor/ 中的依赖也加入压缩包,适合需要离线运行的部署场景。

ChatGPT Writer ChatGPT Writer

免费 Chrome 扩展程序,使用 ChatGPT AI 生成电子邮件和消息。

ChatGPT Writer 106 查看详情 ChatGPT Writer

配合 version 使用,打包指定版本

你也可以对已安装的某个包进行归档:

composer archive vendor/package-name --format=zip

前提是该包已经通过 Composer 安装到项目中。

排除文件:利用 .gitattributes 控制内容

Composer 的 archive 命令会识别项目中的 .gitattributes 文件。如果某行包含 export-ignore,对应文件将不会被打包。

例如,在 .gitattributes 中添加:

/tests export-ignore
.php_cs.dist export-ignore

这样测试目录和配置文件就不会出现在最终的压缩包里。

基本上就这些。合理使用 composer archive,可以让你快速生成干净、轻量、可部署的项目包,无需额外脚本。关键是配置好版本号和 .gitattributes,再根据是否需要依赖选择参数。

以上就是Composer的 archive 命令怎么用_快速打包你的PHP项目及其Composer依赖的详细内容,更多请关注php中文网其它相关文章!


# 让你  # 银川市网站优化步骤图表  # 阿里云大学 网站建设  # 宜春市网站推广公司  # 自助网站建设服务平台  # 泰兴网站推广靠谱吗  # 天津网站seo优化定制  # 58赶集有seo吗  # 巴中网站建设题库答案  # 温州网站建设商城地址  # 青岛网站优化推广排名  # 还能  # 你可以  # php  # 如果你  # 不包含  # 离线  # 回调  # 如何使用  # 如何解决  # 配置文件  # composer  # json  # git  # js 


相关栏目: 【 企业资讯168 】 【 行业动态20933 】 【 网络营销52431 】 【 网络学院91036 】 【 运营推广7012 】 【 科技资讯60970


相关推荐: Windows 11怎么更改用户头像_Windows 11账户设置修改个人资料图片  整合Supabase认证与Django模型:跨模式迁移的解决方案  在React函数组件中利用原生HTML5进行邮箱地址验证  Django通过AJAX异步上传图片并保存至模型的完整指南  大麦的“候补”是什么意思 大麦候补购票规则【详解】  特斯拉自动驾驶房车计划曝光 原型车将于2027年亮相  html怎么运行外部js文件中的函数_运html外js文件函数法【技巧】  在J*a里如何理解依赖关系的方向_依赖方向在模块结构中的作用  PrimeNG Sidebar背景色自定义指南:CSS覆盖与主题化实践  c++中的std::launder有什么实际用途_c++对象生命周期与指针优化  1688商家版怎样分析买家画像精准供货_1688商家版分析买家画像精准供货【供货策略】  Linux如何构建多环境配置管理_Linux多环境配置方案  学习通在线学习平台 学习通网页版直接进入课程中心  Word2013如何插入视频和音频媒体_Word2013媒体插入的多媒体支持  Django表单验证失败时保留用户输入数据的最佳实践  单12V-2×6实现为RTX 5090供电750W!甚至都没敢跑分  俄罗斯搜索引擎Yandex指南 附2025年免登录官网入口  Go语言中Map值调用指针接收器方法的限制与应对  如何使用Node.js csv 包按条件移除含空字段的CSV记录  蛙漫官方正版入口 蛙漫网页在线全集免费观看  在J*a中如何开发简易仓库管理与库存统计_仓库管理库存统计项目实战解析  J*a中实现Go语言select通道多路复用机制  《燕云十六声》两周内达九百万玩家!位居畅销榜第五  Mac怎么锁定备忘录_Mac备忘录加密设置教程  ArrayList与LinkedList核心操作的Big-O复杂度分析  火锅吃太多会怎样 火锅吃太多会上火吗  苹果手机指南针不准怎么校准 传感器校准方法详解【建议收藏】  动漫岛观看全网网 动漫岛在线正版动漫入口  蛙漫安全无毒 官方认证的绿色入口  HTML元素状态管理:根据DIV内容动态启用/禁用按钮  铁路12306卧铺选择攻略 铁路12306下铺座位预定技巧  windows10怎么关闭系统提示音_windows10彻底静音设置方法  Mac怎么使用表情符号_Mac Emoji快捷键面板  Golang如何通过reflect获取匿名字段方法_Golang reflect匿名字段方法访问技巧  CSS响应式网页如何实现主次模块比例自适应_flex-grow与flex-shrink调整  俄罗斯Yandex搜索引擎入口_Yandex官网免登录一键访问  J*aScript数组对象转换:按指定键分组与值收集  深入理解字体排版:Adobe光学字偶距与CSS字偶距的差异与实现  基于动态规划的房屋花卉种植最小成本算法详解  c++中的std::forward_list和std::list有什么不同_c++ forward_list与list区别分析  TikTok搜索不到用户发布内容怎么办 TikTok用户内容搜索优化方法  凉拌黄瓜怎么拌更入味 凉拌黄瓜简单家常做法  火狐浏览器同步功能如何使用 火狐浏览器多设备数据同步设置方法【详解】  Python实现多节点属性重叠度分析教程  J*aScript动态修改指定div内所有a标签样式指南  2025AO3夸克浏览器通道_AO3手机HTTPS安全入口分享  怎样在Excel中做仪表盘_Excel仪表盘设计与关键指标展示方法  2025-2030年全球乘用车销量预测:新能源成增长主力  J*aScript对象创建方式_J*aScript设计模式应用  深入理解rpy2中的类型转换:优化Python对象到R矩阵的映射