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

總結

本文主要介紹了版本號的語義化表達,特別需要注意波浪符(~)和脫字符(^),以及零開頭的版本號。有什麼問題,可以留言哦。

最後歡迎大家關注我的公衆號:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章