上一篇文章簡單地介紹了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
本文主要介紹了版本號的語義化表達,特別須要注意波浪符(~)和脫字符(^),以及零開頭的版本號。有什麼問題,能夠留言哦。
最後歡迎你們關注個人公衆號: