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默认情况下,该命令会:
- 读取当前项目的 composer.json
- 使用项目名称和版本号生成文件名(如 my-project-1.0.0.tar)
- 打包当前项目中所有符合规则的文件
- 不包含 vendor/ 目录中的依赖(除非特别配置)
指定格式和目标目录
你可以自定义打包格式和输出位置:
composer archive --format=zip --dir=dist/这会生成一个 zip 文件,并保存到 dist/ 目录下。支持的格式有 tar 和 zip。
包含依赖库(vendor)
如果你希望打包时包含所有已安装的依赖:
composer archive --with-dependencies这个选项会把 vendor/ 中的依赖也加入压缩包,适合需要离线运行的部署场景。
ChatGPT Writer
免费 Chrome 扩展程序,使用 ChatGPT AI 生成电子邮件和消息。
106
查看详情
配合 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,可以让你快速生成干净、轻量、可部署的项目包,无需额外脚本。关键是配置好版本号和 .gita
ttributes,再根据是否需要依赖选择参数。
以上就是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矩阵的映射


