发布 PHP 包到 Packagist 需先将代码推至 GitHub 等公开仓库,如 my-awesome-package;接着在项目根目录创建 composer.json 文件,填写 name、description、autoload 等必要字段,确保 PSR- 4 自动加载和 PHP 版本要求正确;然后通过 git tag 创建稳定版本标签(如 v1.0.0)并推送;最后登录 Packagist 官网,提交仓库 URL,完成自动抓取与发布,之后他人即可通过 composer require your-username/my-awesome-package 安装使用。

想让自己的 PHP 代码被别人通过 composer require 轻松安装?那就得把自己的项目发布到 Packagist。整个过程其实不难,只要按步骤来,几分钟就能搞定。
准备你的代码仓库
你的包必须托管在公开的 Git 仓库中,GitHub 是最常用的选择。
- 创建一个新的 GitHub 仓库,比如叫
my-awesome-package - 把你的 PHP 代码放进去,确保有清晰的目录结构
- 建议包含
src/目录存放核心类,支持命名空间自动加载 - 提交并推送到远程仓库
编写 composer.json 文件
这是 Composer 识别你包的核心 配置文件。根目录下新建composer.json:
{"name": "your-username/my-awesome-package", "description": "A short description of your package", "type": "library", "license": "MIT", "authors": [ { "name": "Your Name", "email": "you@example.com"} ], "require": {"php": "^7.4 || ^8.0"}, "autoload": {"psr-4": { "MyNamespace": "src/"} }, "minimum-stability": "stable", "prefer-stable": true }
关键点说明:
-
name格式必须是用户名 / 包名,对应 Packagist 的唯一标识 -
autoload.psr-4定义命名空间映射,使用时才能正确引入类 - 设置合适的 PHP 版本要求
- 加上 MIT 或其他开源协议更利于传播
打标签并推送
Packagist 通过 Git 标签识别版本。至少要有一个稳定版本标签:
git tag -a v1.0.0 -m "First stable release"git push origin v1.0.0
没有标签的包会被视为开发版(dev),不利于他人正式使用。
提交到 Packagist
访问 https://www.php.cn/link/ec811d0d775adc62776ba80fadd4ed19 并登录(支持 GitHub 登录)。
- 点击右上角“Submit”按钮
- 粘贴你的 GitHub 仓库 URL
- 点击“Check & Submit”
提交后 Packagist 会抓取信息并创建页面。之后每次推新标签,可通过 Setup Webhook 或手动同步更新。
基本上就这些。发布完成后,别人就可以用 composer require your-username/my-awesome-package 安装你的包了。维护好 README、写清使用示例,会让你的包更受欢迎。不复杂但容易忽略细节,一步步来就行。
以上就是如何发布自己的 Composer 包_从零开始创建并发布一个 Composer 包到 Packagist 的详细内容,更多请关注 php 中文网其它相关文章!