使用composer发布自己的PHP依赖包

背景

这不是什么新东西,纯属自己写着玩。
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个人页面找到。

到这整个过程基本就完成了。

遇到的问题

  1. 版本号问题

    问题:发布的的时候版本号,首先肯定得按照它说的命名规范来做,但是,不知道为什么在packagist中看到的包始终会在后面加上 .x-dev。
    解决:原来每一个分支同步过去都会加上这个后缀,如果命名不是按照它规范来的话,还会被改成 “dev-分支”(如dev_master)。那么怎么才能不带这个后缀了,毕竟感觉就不正规,最后发现 是打tag,github的tag同步过来就是正常的了。

  2. 资源包同步的问题

    问题:因为国外的资源有可能被屏,就算没屏也会很慢,所以composer现在退出了官方的中国镜像,那么我们发布的包同步到packagist了,会不会同步到中国镜像packagist.phpcomposer.com上面来呢。
    解决:会的。已验证
    
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值