发布 Composer 包需先准备代码仓库和 composer.json 文件,再提交至 Packagist。1. 将 PHP 库代码推送到 GitHub 等平台;2. 确保 composer.json 包含 name、type、autoload、license 等必要字段;3. 提交代码并打 Git 标签(如 v1.0.0);4. 登录 Packagist 提交仓库地址;5. 可选配置 Webhook 实现自动同步。完成后他人可通过 composer require 安装使用。

发布一个 Composer 包到 Packagist 的完整流程其实不复杂,只要准备好代码仓库和 composer.json 文件,然后提交到 Packagist 即可。以下是详细步骤:
1. 准备你的 PHP 包代码
确保你的项目是一个独立的、可复用的 PHP 库。通常结构如下:
your-package/├── src/
├── tests/
├── composer.json
├── README.md
└── LICENSE
把代码托管到 GitHub、GitLab 或 Bitbucket 等公共代码平台。
2. 编写正确的 composer.json
composer.json 是包的核心配置文件,必须包含必要字段:
-
name:格式为
vendor/package-name(例如:yourname/hello-world) -
type:通常是
library - autoload:定义自动加载规则,如 PSR-4:
- license:推荐使用开源协议,如 MIT
- description:简要描述你的包功能
示例最小配置:
{ "name": "yourname/hello-world", "description": "A simple hello world package", "type": "library", "license": "MIT", "authors": [ { "name": "Your Name", "email": "you@example.com" } ], "autoload": { "psr-4": { "YourName\\HelloWorld\\": "src/" } }, "require": { "php": "^7.4 || ^8.0" } }3. 提交代码并打 Git 标签
Packagist 通过 Git 标签识别版本。发布前需要推送标签:
- 提交所有更改:
git add . && git commit -m "Initial release" - 推送到远程仓库:
git push origin main - 打版本标签,如 v1.0.0:
git tag v1.0.0 - 推送标签:
git push origin v1.0.0
建议遵循语义化版本规范(SemVer)。
家电公司网站源码是一个以米拓为核心进行开发的家电商城网站模板,程序采用metinfo5.3.9 UTF8进行编码,软件包含完整栏目与数据。安装方法:解压上传到空间,访问域名进行安装,安装好后,到后台-安全与效率-数据备份还原,恢复好数据后到设置-基本信息和外观-电脑把网站名称什么的改为自己的即可。默认后台账号:admin 密码:132456注意:如本地测试中127.0.0.1无法正常使用,请换成l
4. 提交包到 Packagist
访问 https://www.php.cn/link/ec811d0d775adc62776ba80fadd4ed19 并登录(支持 GitHub 登录)。
- 点击右上角“Submit”按钮
- 在“Repository”输入框中填入你的 GitHub/GitLab 仓库地址,例如:
https://github.com/yourname/hello-world - 点击“Check”按钮,Packagist 会抓取信息并显示预览
- 确认无误后点击“Submit”
提交成功后,你的包就会出现在 Packagist 上,URL 类似:https://www.php.cn/link/ec811d0d775adc62776ba80fadd4ed19/packages/yourname/hello-world
5. (可选)设置 GitHub 自动同步
为了让新版本自动更新到 Packagist,可以启用自动推送:
- 在 Packagist 上进入你刚发布的包页面
- 点击“Settings” → “Manage Automatic Updates”
- 按照提示添加 Webhook 到 GitHub 仓库(通常 Packagist 会提供 webhook URL)
之后每次你推送新标签,Packagist 会自动抓取更新。
基本上就这些。发布后,其他人就可以通过 composer require yourname/hello-world 安装你的包了。









