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-ignorephpunit.xml export-ignore
在其他项目中使用 archive
你也可以对远程包执行 archive 操作:composer archive vendor/package-name 1.2.0 --format tar
基本上就这些。合理使用 archive 可以快速生成可用于部署的轻量级代码包。注意检查输出内容是否符合预期,避免遗漏必要文件。










