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

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

版本号介绍

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

  • 主版本号(大版本):当你作了不兼容API的修改
  • 次版本号(小版本):当你作了向下兼容的功能性新增
  • 修订号(补丁版):当你作了向下兼容的问题修复

讲人话就是若是你的依赖包彻底重构了,好比方法名、类名更改了,函数的调用方式也作了调整等等,那么这时候势必会形成用户没法按照原来的方式使用依赖包。这种状况就须要把主版本号加一:spa

1.2.3 ---> 2.0.0

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

2.3.4 --> 2.4.0

若是你只是对依赖包作了bug的修复。这种状况仅仅须要把修订号加一:get

2.5.6 --> 2.5.7

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

版本限制

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

  • 直接指定: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

脱字符(^)

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

^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

总结

本文主要介绍了版本号的语义化表达,特别须要注意波浪符(~)和脱字符(^),以及零开头的版本号。有什么问题,能够留言哦。
最后欢迎你们关注个人公众号:
qrcode_for_gh_2a711779f43a_258.jpg

相关文章
相关标签/搜索