Composer的archive命令如何打包项目?

发布时间 - 2025-10-14 00:00:00    点击率:
Composer的archive命令根据composer.json配置打包项目,生成不含版本控制和依赖目录的轻量压缩文件,默认输出至dist/目录。可自定义格式(zip/tar)、路径及文件名,并支持通过.gitattributes排除文件,还可对远程包打包,适用于快速分发部署。

Composer 的 archive 命令用于将项目打包成压缩文件,方便发布或分发。它不会打包整个目录,而是根据 composer.json 中的配置生成一个干净的代码包。

基本用法

运行以下命令可以打包当前项目:

composer archive

默认情况下,它会:
  • 使用当前项目名称和版本号命名压缩包
  • 生成格式为 tar 的归档文件(部分系统可能默认为 zip
  • 输出到当前目录下的 dist/ 文件夹

指定格式和路径

你可以自定义打包格式和输出位置:
  • composer archive --format zip:打包为 zip 格式
  • composer archive --dir ./my-archives:指定输出目录
  • composer archive --file my-project-v1.0:自定义文件名(不包含扩展名)

排除开发文件

打包时 Composer 会自动忽略:
  • .git 目录和其它版本控制文件
  • vendor/ 目录中的依赖(除非显式保留)
  • 通过 .gitattributes 中的 export-ignore 标记的文件
你可以在项目根目录添加 .gitattributes 文件来控制哪些文件不被打包:

tests/ export-ignore
phpunit.xml export-ignore

在其他项目中使用 archive

你也可以对远程包执行 archive 操作:

composer archive vendor/package-name 1.2.0 --format tar

前提是该包已配置正确且能被 Composer 下载解析。

基本上就这些。合理使用 archive 可以快速生成可用于部署的轻量级代码包。注意检查输出内容是否符合预期,避免遗漏必要文件。


# composer  # php  # js  # git  # json  # format  # xml  # 自定义  # 你可以  # 压缩文件  # 适用于  # 扩展名  # 不含  # 不被  # 它会  # 压缩包  # 你也可以 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么连接多个数据库_Laravel多数据库连接配置  Laravel distinct去重查询_Laravel Eloquent去重方法  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  详解Oracle修改字段类型方法总结  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  EditPlus 正则表达式 实战(3)  java中使用zxing批量生成二维码立牌  如何用狗爹虚拟主机快速搭建网站?  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  香港服务器网站卡顿?如何解决网络延迟与负载问题?  如何在阿里云部署织梦网站?  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  C#如何调用原生C++ COM对象详解  Laravel怎么为数据库表字段添加索引以优化查询  Laravel如何与Inertia.js和Vue/React构建现代单页应用  想要更高端的建设网站,这些原则一定要坚持!  英语简历制作免费网站推荐,如何将简历翻译成英文?  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  中国移动官方网站首页入口 中国移动官网网页登录  如何在IIS7中新建站点?详细步骤解析  EditPlus中的正则表达式实战(6)  Laravel如何处理异常和错误?(Handler示例)  公司门户网站制作流程,华为官网怎么做?  微信小程序 五星评分(包括半颗星评分)实例代码  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  如何基于云服务器快速搭建网站及云盘系统?  Laravel怎么清理缓存_Laravel optimize clear命令详解  Laravel如何实现用户密码重置功能?(完整流程代码)  如何在云主机上快速搭建网站?  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  Laravel怎么在Controller之外的地方验证数据  详解Android——蓝牙技术 带你实现终端间数据传输  如何实现建站之星域名转发设置?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  Laravel中的Facade(门面)到底是什么原理  Android GridView 滑动条设置一直显示状态(推荐)  Laravel怎么使用Intervention Image库处理图片上传和缩放  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  如何用y主机助手快速搭建网站?  javascript如何操作浏览器历史记录_怎样实现无刷新导航  千库网官网入口推荐 千库网设计创意平台入口  郑州企业网站制作公司,郑州招聘网站有哪些?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  JS碰撞运动实现方法详解  JavaScript如何操作视频_媒体API怎么控制播放  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】