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" } }}
| | |
|---|
| | 只能包含小写字母、数字、连字符 -、点 .、下划线 _;供应商名通常与你的 Packagist 账号或组织名一致。 |
| | library – 普通代码库(默认),会被安装到 vendor/ 目录。project – 应用程序(如 Laravel 项目)。composer-plugin – Composer 插件。 |
| 简短介绍包的用途,会显示在 Packagist 搜索结果中。 | |
| 帮助用户在 Packagist 上通过关键词搜索到包。 | |
| | 一般与 repository 字段不同,repository 用于 Composer 源码获取。 |
| | 可以使用 SPDX 标识符(如 MIT、GPL-3.0-or-later),也可以填写数组或 proprietary。 |
| | name – 必填email / homepage / role – 可选 |
| | |
| | |
| | |
命名规则
供应商名/包名,供应商名的作用是防止命名冲突,已存在的供应商,若无作者授权不可发布。
比如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
