據說你也想學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

相關文章
相關標籤/搜索