如何向Packagist发布自己的composer包

32次阅读

答案是向Packagist发布Composer包需准备项目并配置composer.json,将代码推送到GitHub等平台并打标签,登录Packagist提交仓库URL,设置GitHub Webhook实现自动更新,最后通过composer require测试安装。

如何向Packagist发布自己的composer包

向Packagist发布自己的Composer包并不复杂,只要准备好项目并正确配置composer.json文件,就可以轻松完成。下面一步步说明如何操作。

1. 准备你的PHP项目

确保你的PHP项目结构清晰,代码托管在GitHub、GitLab或Bitbucket等公共代码平台上。

项目中必须包含一个正确的composer.json文件,这是Composer识别和安装包的基础。

基本的composer.json示例:

{ “name”: “your-username/your-package-name”, “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”: { “YourNamespace”: “src/” } }, “minimum-stability”: “stable”, “prefer-stable”: true }

注意: name 字段格式为 用户名/包名,这个用户名通常是你在GitHub或Packagist上的用户名。

2. 将代码推送到远程仓库

把项目推送到GitHub等平台,并打上版本标签(tag),例如v1.0.0

使用Git命令打标签:

git tag -a v1.0.0 -m “First stable release” git push origin v1.0.0

Packagist通过标签来识别版本,没有标签就无法获取稳定版本。

3. 提交到Packagist

访问 https://phps.yycxw.com/link/ec811d0d775adc62776ba80fadd4ed19 并注册账号(如果还没有)。

登录后点击右上角“Submit”按钮,输入你的项目仓库URL(如:https://github.com/your-username/your-package-name),然后提交。

如何向Packagist发布自己的composer包

自由画布

百度文库和百度网盘联合开发的AI创作工具类智能体

如何向Packagist发布自己的composer包73

查看详情 如何向Packagist发布自己的composer包

提交成功后,Packagist会自动抓取composer.json信息并创建包页面。

4. 设置自动更新(推荐)

为了让Packagist在你推送新标签时自动更新,需要设置Webhook。

进入你的GitHub仓库,点击 “Settings” → “Webhooks” → “Add webhook”。

填写以下内容:

  • Payload URL: https://phps.yycxw.com/link/ec811d0d775adc62776ba80fadd4ed19/api/github
  • Content type: application/json
  • Which events would you like to trigger this webhook?: 默认选“Just the push event”即可(Push事件会触发版本同步)

保存后,每次你推送新的git标签,Packagist就会自动更新包信息。

5. 验证与使用

等待几分钟让Packagist处理新版本。你可以通过以下方式测试:

在另一个项目中运行:

composer require your-username/your-package-name

如果能正常安装,说明发布成功。

基本上就这些。保持composer.json清晰、代码结构规范、版本标签明确,你的包就能被其他人顺利使用。不复杂但容易忽略细节。

以上就是如何向Packagist发布自己的php js git json composer github app ai gitlab php composer json require Event 事件 this github git gitlab https

php js git json composer github app ai gitlab php composer json require Event 事件 this github git gitlab https

text=ZqhQzanResources