上一篇文章简单地介绍了composer的安装,镜像切换,以及简单的使用方式。本文主要是和你们聊聊composer中的版本号。composer
版本号的设置建议遵循语义化版本的规范。简单来讲就是:函数
讲人话就是若是你的依赖包彻底重构了,好比方法名、类名更改了,函数的调用方式也作了调整等等,那么这时候势必会形成用户没法按照原来的方式使用依赖包。这种状况就须要把主版本号加一:spa
1.2.3 ---> 2.0.0
若是你的依赖包只是新增长了一些类或者方法,原来的使用方式没有发生变化,用户升级以后不会形成兼容性问题。这种状况只须要把次版本号加一:code
2.3.4 --> 2.4.0
若是你只是对依赖包作了bug的修复。这种状况仅仅须要把修订号加一:get
2.5.6 --> 2.5.7
细心的小伙伴可能已经发现若是前一位加一,后一位会直接清零。it
安装依赖的时候咱们每每要选择合适的版本进行安装,常见的版本限制方式:class
注: ","表示逻辑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
本文主要介绍了版本号的语义化表达,特别须要注意波浪符(~)和脱字符(^),以及零开头的版本号。有什么问题,能够留言哦。
最后欢迎你们关注个人公众号: