当前位置:首页>php>[PHP]从GitHub发布Composer包

[PHP]从GitHub发布Composer包

  • 2026-10-11 08:26:53
[PHP]从GitHub发布Composer包

PHP 从GitHub发布Composer包

composer.json 定义

官网

https://packagist.org/about

{"name": "monolog/monolog","type": "library","description": "Logging for PHP 8.0","keywords": ["log","logging"],"homepage": "https://github.com/Seldaek/monolog","license": "MIT","authors": [        {"name": "Jordi Boggiano","email": "j.boggiano@seld.be","homepage": "http://seld.be","role": "Developer"        }    ],"require": {"php": ">=8.0.0"    },"autoload": {"psr-0": {"Monolog": "src"        }    }}
键
解析
键值
name
包的唯一标识,格式为 供应商/项目名。
只能包含小写字母、数字、连字符 -、点 .、下划线 _;供应商名通常与你的 Packagist 账号或组织名一致。
type
定义包的安装行为。
library – 普通代码库(默认),会被安装到 vendor/ 目录。project – 应用程序(如 Laravel 项目)。composer-plugin – Composer 插件。
description
简短介绍包的用途,会显示在 Packagist 搜索结果中。
必须写清楚,方便他人快速了解。
keywords
帮助用户在 Packagist 上通过关键词搜索到包。
最多 5 个,用词精准。
homepage
指向项目官网、文档或源码仓库的 URL。
一般与 repository 字段不同,repository 用于 Composer 源码获取。
license
声明软件许可证,便于使用者了解法律条款。
可以使用 SPDX 标识符(如 MIT、GPL-3.0-or-later),也可以填写数组或 proprietary。
authors
列出原作者的元信息(可多个)。
name – 必填email / homepage / role – 可选
require
声明当前包所依赖的其他包或 PHP 版本。
autoload
定义 Composer 自动加载规则。
自动加载包用。
minimum-stability
控制允许的最低稳定性
stable、beta、dev 等

命名规则

供应商名/包名,供应商名的作用是防止命名冲突,已存在的供应商,若无作者授权不可发布。

比如monolog/monolog,供应商名和包名相同,若非作者发布如monolog/test,不会发布成功。

Packagist 发布

官网

https://packagist.org/

登录

submit

报错

供应商名重复。

The vendor name "供应商名" was already claimed by someone else on Packagist.org. You may ask them to add your package and give you maintainership access. If they add you as a maintainer on any package in that vendor namespace, you will then be able to add new packages in that namespace. The packages already in that vendor namespace can be found at 供应商名.If those packages belong to you but were submitted by someone else, you can contact us to resolve the issue.

供应商名字大小写重复。

The package name Lsswear/curl is invalid, it should not contain uppercase characters. We suggest using lsswear/curl instead.

github设置WebHook

进入guthub库中设置WebHook,设置内容根据Packagist官网说明。

Packagist官网说明

https://packagist.org/about

Payload URL: https://packagist.org/api/github?username=用户名Content Type: application/jsonSecret: Packagist API Token

Packagist API Token

扫描识别二维码关注我们获取更多

最新文章

随机文章