使用composer发布自己的PHP依赖包
来源:互联网 发布:淘宝淘气值有什么用 编辑:程序博客网 时间:2024/06/04 18:57
背景
这不是什么新东西,纯属自己写着玩。
composer是什么就不用解释了,做PHP开发的应该都知道,毕竟nodejs有npm,ruby有bundler,是吧。composer就是受他们启发才弄出来的。
发布包这个问题,composer官网和其他很多博客都有很详细的说明,自己写一个加深下印象。
总体
先说总的说明一下。
其实就几个内容:
1. 安装使用composer,这个官网的说明已经很详细了。
2. 发布项目,发布到github上。
3. packagist发布包,可以设置git在push的自动同步。
详细
第一步就是按照官网安装说明做就行了,各个环境安装都有说明,我就不说了。说说第二步,其实这个项目和你之前弄得项目没什么区别,唯一要做的就是那个composer.json文件,这个文件配置非常丰富,具体内容我也不一一细说,主要就是name这个属性,名字要和你github的项目吻合,不然packagist在审核的时候通不过。ok,项目推送到github之后,就是包的发布了。到packagist(https://packagist.org),最好直接用github来登录。首先submit一个自己包,其实它说支持git/svn/hg,当然我们用git,填入你的项目地址,然后check,如果不过的话,它会告诉你详细的错误信息(因为我没遇到过,不太清楚会出现些是什么错误)。审核之后,在你自己的pakage里面能看到,可以直接操作。再说一下自动同步吧,假如你每次更新了项目,还要跑到这来点一下update,是不是很麻烦。所以这里最好设置一个自动同步,当然packagist提供了api的方式来操作,这个也是挺麻烦。packagist和github已经打通了,可以直接在github上设置就行了。ok在github上打开你的项目,点击setting 》 Installed integrations 》Add Service 选择 packagist,然后填写user、token、domain,token你可以从你的packagist个人页面找到。到这整个过程基本就完成了。
遇到的问题
版本号问题
问题:发布的的时候版本号,首先肯定得按照它说的命名规范来做,但是,不知道为什么在packagist中看到的包始终会在后面加上 .x-dev。
解决:原来每一个分支同步过去都会加上这个后缀,如果命名不是按照它规范来的话,还会被改成 “dev-分支”(如dev_master)。那么怎么才能不带这个后缀了,毕竟感觉就不正规,最后发现 是打tag,github的tag同步过来就是正常的了。资源包同步的问题
问题:因为国外的资源有可能被屏,就算没屏也会很慢,所以composer现在退出了官方的中国镜像,那么我们发布的包同步到packagist了,会不会同步到中国镜像packagist.phpcomposer.com上面来呢。解决:会的。已验证
0 0
- 使用composer发布自己的PHP依赖包
- Composer PHP的包依赖管理工具
- PHP的包依赖管理工具Composer简介
- PHP的包依赖管理工具Composer
- PHP的包依赖管理工具Composer简介
- PHP的包依赖管理工具Composer简介
- PHP的包依赖管理工具Composer
- 通过composer发布自己的包
- 如何发布自己的Composer包
- PHP 依赖管理工具Composer的使用
- 【转载】PHP的包依赖管理工具Composer简介
- PHP 安装包依赖关系管理工具Composer
- 在 CI 中使用 composer 安装的依赖包
- php依赖管理工具Composer的安装和使用
- PHP-发布一个composer包(稳定版本)
- Composer构建现代PHP帝国(二)——编写自己的Composer包
- 191 composer 使用国内镜像 / 发布自己的package / 个人项目中使用composer
- 使用github作为maven仓库发布自己的jar包依赖
- 图片跟随鼠标点击走
- 省市县三级联动,JS 实现,效果还不错
- 第七周-OJ按要求输出
- 【系统服务】分布式系统事务一致性解决方案
- JVM03 GC收集算法 标记整理算法
- 使用composer发布自己的PHP依赖包
- Android图片质量压缩和尺寸压缩处理
- ListView、RecyclerView 两种方式实现聊天界面支持文字、表情、图片和语音信息,支持下拉加载更多
- NotePad++ 把列 数据转成一行
- 图片无限轮播
- TabIndicatorView
- 解决linux的centos版本修改时间重启后无效的问题
- 面向对象的三个基本特征
- NYOJ 747 蚂蚁的难题(三)(贪心+01背包)