使用composer archive命令可打包PHP项目,执行composer archive –format=zip生成项目归档,默认不含vendor依赖;若需包含依赖,先运行composer install,再用系统命令zip -r打包整个目录;可通过–dir指定输出路径,如composer archive –format=tar –dir=build/;排除文件则在composer.json中配置archive.exclude字段,如排除tests、docs、.env等,最后验证归档内容完整性。
如果您希望将一个PHP项目及其所有依赖项打包以便分发或备份,但不确定如何使用Composer的archive命令来完成此操作,可以按照以下步骤进行。
本文运行环境:Dell XPS 13,Ubuntu 24.04
一、使用composer archive基础命令打包项目
composer archive命令可以将当前项目的代码打包为压缩文件,默认格式为tar或zip。该操作仅打包项目本身的源码,不包含vendor目录中的依赖,除非依赖被纳入版本控制。
1、打开终端并进入项目根目录,确保当前目录中包含composer.json文件。
2、执行以下命令生成默认格式的归档文件:
composer archive –format=zip
3、归档文件将生成在当前目录下,命名格式为“项目名-版本号.zip”。
二、打包项目并包含已安装的依赖
若需将vendor目录中的依赖一同打包,需先确保依赖已通过composer install安装,并且这些文件存在于项目中。可以通过调整打包路径实现完整打包。
1、运行composer install确保所有依赖已下载并放置于vendor目录。
2、使用以下命令将整个项目(包括vendor)打包:
zip -r project-with-dependencies.zip . -x “.*” -x “__MACOSX/*”
3、此方法绕过composer archive限制,直接使用系统压缩工具打包全部必要内容。
三、自定义打包路径和输出位置
composer archive支持指定输出目录和文件名,便于组织归档文件的存储位置。
1、创建用于存放归档文件的目录,例如:mkdir build
2、执行命令指定输出路径:
composer archive –format=tar –dir=build/
3、生成的归档文件将位于build/目录下,名称基于项目名和版本号。
四、排除特定文件或目录后再打包
为了减小归档体积或避免包含敏感信息,可在打包前配置composer.json中的archive.exclude字段。
1、编辑composer.json文件,在根级别添加archive字段:
“archive”: { “exclude”: [“/tests/”, “/docs/”, “*.log”, “/.env”] }
2、保存文件后再次运行composer archive命令,被排除的文件将不会出现在归档中。
3、确认归档内容符合预期,可使用tar -tzf 或 unzip -l 查看包内结构。
以上就是composer php js json ubuntu 工具 mac macos cos php composer json format ubuntu