composer的archive命令如何打包整个项目_生成zip或tar压缩包用于发布

冰火之心
发布: 2025-10-31 10:39:02
原创
923人浏览过
Composer的archive命令可将项目打包为zip或tar文件,用于发布或部署。它依据composer.json配置自动排除.gitignore和exclude-from-classmap中的文件,默认按当前版本或Git分支生成压缩包。通过--format指定格式,--dir设置输出目录,还可指定版本如1.0.0或使用dev-main打包开发版本。结合.gitattributes中定义的export-ignore规则,能精确控制归档内容,实现干净、规范的代码发布。

composer的archive命令如何打包整个项目_生成zip或tar压缩包用于发布

Composer 的 archive 命令可以用来将项目的某个版本打包成压缩文件,比如 zip 或 tar,适合用于发布代码或部署。它不会打包整个项目目录下的所有内容,而是根据 composer.json 中的配置,打包符合规范的源码文件。

基本用法

运行以下命令即可生成当前项目默认分支(通常是 main 或 master)或指定版本的压缩包:

composer archive

默认情况下,这条命令会:

  • 使用当前项目目录的 composer.json 中定义的版本(version)或从 Git 分支推断
  • 打包符合 autoload 规则的源码文件
  • 排除在 .gitignoreexclude-from-classmap 中列出的文件
  • 生成一个 zip 文件(在 Windows 上)或 tar 文件(在 Unix-like 系统上)

指定格式和版本

你可以通过参数控制打包的格式和版本:

立即进入豆包AI人工智官网入口”;

立即学习豆包AI人工智能在线问答入口”;

composer archive --format=zip --dir=dist/ 1.0.0

说明:

  • --format=zip:指定输出格式为 zip(也可用 tar)
  • --dir=dist/:指定输出目录,这里会保存到 dist/ 文件夹下
  • 1.0.0:指定要打包的版本,必须是 Git tag 或在 composer.json 中定义的版本

执行后会在 dist/ 目录生成类似 my-project-1.0.0.zip 的文件。

豆包爱学
豆包爱学

豆包旗下AI学习应用

豆包爱学674
查看详情 豆包爱学

打包当前开发状态(非标签版本)

如果你想打包当前工作区的内容,而不是某个 tag,可以使用别名:

composer archive --format=zip dev-main

这会打包当前分支的最新提交,并以 "dev-main" 作为版本名生成压缩包。

自定义打包内容

Composer 的 archive 命令遵循 composer.json 中的设置,特别是:

  • exclude-from-classmap:虽然主要用于自动加载,但间接影响哪些 PHP 文件被关注
  • .gitattributes:如果你的项目包含这个文件,可以用它来精确控制哪些文件应被排除在归档之外

例如,在 .gitattributes 中添加:

/tests export-ignore
/build export-ignore
.gitignore export-ignore

这样,使用 composer archive 打包时就会忽略这些文件或目录,就像 git archive 一样。

基本上就这些。只要项目有合理的版本管理和 .gitattributes 配置,composer archive 就能快速生成干净的发布包。

以上就是composer的archive命令如何打包整个项目_生成zip或tar压缩包用于发布的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号