0

0

Composer怎么发布自己的包 Composer怎么上传到Packagist【分享】

穿越時空

穿越時空

发布时间:2026-03-08 10:38:02

|

359人浏览过

|

来源于php中文网

原创

composer怎么发布自己的包 composer怎么上传到packagist【分享】

怎么让 Composer 能装到你的包

必须先有公开可访问的 Git 仓库(GitHub、GitLab 或其他),且主分支(通常是 mainmaster)里包含合法的 composer.json。Packagist 不收 zip 包,也不接受私有仓库直连——它只抓 Git 元数据。

常见错误现象:Package not found 或提交后 Packagist 页面显示 “This package is not auto-updated”,本质是没打通 Webhook 或仓库地址写错。

  • 确保 composer.json"name" 格式为 "vendor/name"(如 "myorg/my-package"),且 vendor 和你在 Packagist 的用户名完全一致
  • 仓库描述(description)、类型(type,比如 library)、自动加载配置(autoload)这三项不填或填错,会导致 Packagist 拒绝索引或用户安装后类找不到
  • 别用中文路径、空格或大写字母命名 tag,v1.0.0 可以,V1.01.0版本 会触发解析失败

怎么把 GitHub 仓库和 Packagist 绑定

不是“上传”,是“关联+触发同步”。Packagist 本身不存代码,只存元信息并定时或通过 webhook 拉取最新 tag。

使用场景:你 push 了一个新 tag(如 v2.1.0),想让 composer require myorg/my-package 立刻可用。

卡奥斯智能交互引擎
卡奥斯智能交互引擎

聚焦工业领域的AI搜索引擎工具

下载
  • 登录 Packagist,点右上角「Submit」→ 粘贴你的 GitHub 仓库 URL(必须是完整 HTTPS 地址,如 https://github.com/myorg/my-package
  • 首次提交后,立刻去 GitHub 仓库 Settings → Webhooks → Add webhook,Payload URL 填 Packagist 提供的回调地址(格式类似 https://packagist.org/api/github?username=myorg),Content type 选 application/json,只勾选 Releases 事件
  • 如果已提交但没更新,手动在 Packagist 包页点「Update」按钮——但这只是临时补救,长期靠 webhook 自动触发

composer.json 哪些字段会影响安装体验

用户执行 composer require 时,实际依赖的是你声明的约束和自动加载规则。填错一个字段,可能让包装得上但跑不起来。

性能影响:autoload 配置不合理会导致 PSR-4 映射过深、文件扫描变慢;require 列了太多 dev-only 依赖会让生产环境也下无用包。

  • "autoload": { "psr-4": { "MyOrg\MyPackage\": "src/" } } —— 注意结尾斜杠和命名空间末尾反斜杠必须匹配,"MyOrg\MyPackage""MyOrgMyPackage" 是不同写法,后者会报错
  • "require" 里别写 "php": "^8.0" 这种宽泛约束,除非真测过所有子版本;更稳妥的是 "php": ">=8.0.0 ,避免用户升级 PHP 后意外 break
  • "minimum-stability": "stable""prefer-stable": true 是给自己的包用的,对使用者无影响;真正影响用户的是你发的 tag 是否带 -beta 后缀

为什么 composer require 找不到刚发布的包

90% 是缓存或延迟问题,不是配置失败。Packagist 从接收 webhook 到可被 composer 命令查到,通常有 10–60 秒延迟;若超 5 分钟还找不到,才要排查。

容易踩的坑:composer clear-cache 没用,因为本地缓存不影响 Packagist 索引状态;composer search 默认只查已索引包,新包不会出现在结果里。

  • 先直接访问 https://packagist.org/packages/vendor/name,看页面是否 200 且显示最新 tag —— 这是唯一可信判断依据
  • 确认你用的不是私有 Packagist 镜像(比如公司内网源),有些镜像同步周期长达数小时甚至手动触发
  • 如果页面显示正常但 composer requireCould not find package,试试加 -vvv 参数,看 Composer 实际请求的是哪个源,排除配置了 repositories 覆盖默认行为
事情说清了就结束

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
composer是什么插件
composer是什么插件

Composer是一个PHP的依赖管理工具,它可以帮助开发者在PHP项目中管理和安装依赖的库文件。Composer通过一个中央化的存储库来管理所有的依赖库文件,这个存储库包含了各种可用的依赖库的信息和版本信息。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

161

2023.12.25

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

454

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

546

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

331

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

82

2025.09.10

require的用法
require的用法

require的用法有引入模块、导入类或方法、执行特定任务。想了解更多require的相关内容,可以阅读本专题下面的文章。

509

2023.11.27

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

3836

2026.01.21

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

978

2023.07.05

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

46

2026.03.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
第二十四期_PHP8编程
第二十四期_PHP8编程

共86课时 | 3.5万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 2.6万人学习

第二十三期_PHP编程
第二十三期_PHP编程

共93课时 | 7.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号