Composer archive 命令可将 PHP 项目打包为 tar 或 zip 格式用于分发或备份,1. 默认使用项目名和版本号生成归档包,2. 遵循 .gitattributes 规则排除指定文件,3. 支持通过 --format 和 --dir 自定义格式与输出路径,4. 可用 --version 打包特定版本,适用于简单发布流程。

Composer 的 archive 命令可以将项目打包成压缩文件,便于分发或备份。它会根据项目的版本控制信息或指定的版本生成一个归档包,默认使用 tar 或 zip 格式。
基本用法
在项目根目录下运行以下命令即可打包当前项目:
composer archive默认情况下,该命令会:
- 使用当前项目名称作为包名
- 读取 composer.json 中的版本号或从 VCS(如 Git)获取最新标签
- 生成一个以版本命名的压缩包(例如:my-project-1.0.0.tar)
- 排除 .git 目录和其它被忽略的文件(遵循 .gitattributes 中的 export-ignore 规则)
指定格式和路径
你可以自定义压缩格式和输出目录:
composer archive --format=zip --dir=./dist- --format:可选 tar(默认)、zip
- --dir:指定输出目录,不指定则输出到当前目录
打包指定版本
如果你想打包某个特定版本(必须是已定义在 composer.json 中或 Git 标签存在的版本):
这会尝试查找并打包对应版本,适用于有多个发布版本的项目。
配合 .gitattributes 使用
为了更精确控制哪些文件被打包,可以在项目中创建 .gitattributes 文件:
/tests export-ignore/build export-ignore
.gitignore export-ignore
这样,在执行 archive 命令时,这些标记为 export-ignore 的文件或目录将不会包含在归档包中。
基本上就这些。Composer archive 是个轻量级打包工具,适合用于构建简单发布包,不需要复杂构建流程的 PHP 项目。










