composer archive 的核心作用是为 Composer 项目或 Packagist 包创建干净的压缩包,排除 VCS 文件和开发依赖,适用于源码分发与部署;其命令可指定格式、路径与文件名,支持从 Packagist 直接归档特定版本包;与 git archive 不同,它基于 composer.json 理解项目结构,默认不包含 vendor 目录,强调源代码打包而非完整依赖;常用于生成轻量级源码包,配合 .gitattributes 的 export-ignore 可进一步精简内容,适合发布开源项目或构建分发包,但需注意它不生成含依赖的部署包,此类场景应结合 composer install --no-dev 后使用通用压缩工具完成。

composer archive
.git
当我们谈到
composer archive
composer archive
zip
比如说,如果你有一个名为
my-awesome-app
1.0.0
composer archive
my-awesome-app-1.0.0.zip
.git
vendor
composer install
--no-dev
更高级一点,你可以指定输出格式、目录和文件名:
composer archive --format=tar.gz --dir=/tmp/builds --file=my-app-release.tar.gz
tar.gz
/tmp/builds
my-app-release.tar.gz
还有一个不那么常用但很有意思的用法,是针对 Packagist 上的特定包进行归档。
composer archive symfony/symfony 5.4.0 --dir=/tmp
symfony/symfony
5.4.0
/tmp
需要注意的是,
composer archive
vendor
zip -r
vendor
composer archive
git archive
这个问题我经常被问到,因为两者听起来都是“打包”或“归档”。但实际上,它们的侧重点和应用场景有着本质的区别。在我看来,理解这一点对于选择合适的工具至关重要。
git archive
.git
git archive
.gitignore
而
composer archive
composer.json
composer.lock
composer archive
vendor
vendor
composer install
此外,
composer archive
git archive
git archive
vendor
composer archive
git archive
生成一个干净的源代码分发包,这正是
composer archive
vendor
composer install
使用
composer archive
composer.json
autoload
composer archive --format=zip --dir=/tmp/releases --file=my-project-source-v1.0.0.zip
/tmp/releases
my-project-source-v1.0.0.zip
.git
.svn
vendor
composer install
我个人觉得这种方式非常符合“分发源代码”的语义。想象一下,你要把你的开源项目发布到 GitHub release 页面,或者提供一个下载链接给用户自行安装,你肯定不希望用户下载一个几百兆甚至上 G 的压缩包,里面包含了他们可能根本不需要的开发依赖,甚至还有你的 Git 历史。一个轻量级的源代码包,让用户根据自己的环境来安装依赖,这才是最佳实践。
当然,如果你是为了一个完整的部署包(即包含
vendor
composer archive
composer install --no-dev --optimize-autoloader
vendor
zip -r
tar -czf
vendor
composer archive
composer archive
在实际使用
composer archive
一个比较常见的“坑”就是,误以为 composer archive
vendor
composer archive
vendor
vendor
vendor
zip
composer install --no-dev
另一个小细节是关于.gitattributes
composer archive
.gitattributes
export-ignore
.gitattributes
composer archive
export-ignore
至于最佳实践,我个人觉得:
composer archive
vendor
以上就是composer archive命令怎么用的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号