Composer的archive命令可将项目打包为zip或tar文件,默认打包当前项目,支持指定格式、输出目录、文件名及版本。例如:composer archive --format zip生成zip包,--dir指定输出路径,--file自定义文件名,还可远程打包如monolog/monolog的指定版本,适用于轻量级发布。

Composer 提供了 archive 命令,可以将项目打包为 zip 或 tar 文件。这个命令会基于当前项目的版本(如 git tag)或指定的包名称生成一个压缩归档文件,常用于发布稳定版本或部署代码。
基本语法
composer archive [package] [format] [--dir DIR] [--file FILE]如果不指定 package,默认打包当前项目。
常用参数说明
- package:要打包的包名(例如 vendor/name),可选
- format:格式,支持 zip 和 tar,默认为 zip
- --dir:指定输出目录,默认是当前目录
- --file:自定义输出文件名(不含扩展名)
- --version:指定要打包的版本(适用于远程包)
实际使用示例
假设你在自己的项目根目录下,想将其打包为 zip 文件:
composer archive --format zip这会生成类似:projectname-YOURVERSION.zip 的文件。
如果想打包为 tar.gz 文件:
composer archive --format tar注意:tar 格式实际生成的是 .tar 文件,若需 .tar.gz,可后续手动压缩:
gzip projectname-YOURVERSION.tar指定输出目录:
composer archive --format zip --dir ./dist自定义文件名:
composer archive --format zip --file my-release这会生成 my-release.zip。
打包其他 Composer 包(远程)
你也可以打包 Packagist 上的任意公开包:
composer archive monolog/monolog --format zip --version 2.0.0该命令会下载 monolog/monolog 的 2.0.0 版本并打包。
基本上就这些。只要项目有 composer.json,archive 命令就能用,适合做轻量级发布归档。










