听说你也想学composer----版本号

上一篇文章简单地介绍了 composer 的安装,镜像切换,以及简单的使用方式。本文主要是和大家聊聊 composer 中的版本号。

​版本号介绍

版本号的设置建议遵循语义化版本的规范。简单来说就是:

  • 主版本号(大版本):当你做了不兼容API的修改

  • 次版本号(小版本):当你做了向下兼容的功能性新增

  • 修订号(补丁版):当你做了向下兼容的问题修复

讲人话就是如果你的依赖包完全重构了,比如方法名、类名更改了,函数的调用方式也做了调整等等,那么这时候势必会造成用户无法按照原来的方式使用依赖包。这种情况就需要把主版本号加一:

1.2.3 ---> 2.0.0

如果你的依赖包只是新增加了一些类或者方法,原来的使用方式没有发生变化,用户升级之后不会造成兼容性问题。这种情况只需要把次版本号加一:

2.3.4 --> 2.4.0

如果你只是对依赖包做了 bug 的修复。这种情况仅仅需要把修订号加一:

2.5.6 --> 2.5.7

细心的小伙伴可能已经发现如果前一位加一,后一位会直接清零

版本限制

安装依赖的时候我们往往要选择合适的版本进行安装,常见的版本限制方式:

  • 直接指定:xx/xx:"2.1.0"

  • 范围指定:xx/xx:">1.2,<1.4|>1.0"

  • 通配符:xx/xx:"1.2.*"

注: ","表示逻辑AND,"|"表示逻辑OR,并且AND的优先级高于OR

除了上面的三种常见版本限制方式外,还有波浪符(~)和脱字符(^)两种。波浪符比较好理解,它其实和上面的通配符差不多,指版本号只能改变最末尾那一段

~1.2  等价于 >=1.2,<2.0

脱字符(^)

脱字符在版本限制里算最不好理解的了。人话一点的解释就是:尽量使用最新版本,但是保证不出现兼容性问题。根据我们上面提到的语义化版本规范,可以进一步得出,除了主版本以外,次版本和修订版可以随意变动:

^1.2.5 等价于 >=1.2.5,<2.0.0

当然这里还有一个注意点:零开头的版本号比较特殊:

^0.4 等价于 >=0.4.0,<0.5.0

因为语义化版本规范规定零开头的版本是非稳定版本,而非稳定版是允许次版本不向下兼容的。所以需要注意下面的使用方式,可能会导致升级之后出现不兼容的情况:

~0.5 等价于 >=0.5.0,<1.0.0

总结

本文主要介绍了版本号的语义化表达,特别需要注意波浪符(~)和脱字符(^),以及零开头的版本号。有什么问题,可以留言哦。

最后欢迎大家关注我的公众号:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值