如何发布自己的Composer包_从零开始创建并发布一个Composer包到Packagist

14次阅读

发布 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 安装使用。

如何发布自己的 Composer 包_从零开始创建并发布一个 Composer 包到 Packagist

想让自己的 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 中文网其它相关文章!

星耀云
版权声明:本站原创文章,由 星耀云 2025-12-20发表,共计1445字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。
text=ZqhQzanResources