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

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 的文件。

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

豆包爱学

豆包旗下AI学习应用

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

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

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

如果你想打包当前工作区的内容,而不是某个 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 就能快速生成干净的发布包。

以上就是

暂无评论

发送评论 编辑评论


				
上一篇
下一篇
text=ZqhQzanResources