语义化版本
本文同步自我的個人博客:http://www.52cik.com/2015/12/05/semver.html
之前就覺得為什么 github 上的大部分東西都是 1.0.1、1.11.1 甚至 0.11.1 這種奇葩的版本。為什么 jQuery 1.9.9 之后不是 2.0.0 而是 1.10.0。而且在 npm init 的時候不能輸入 1 或 1.0 這樣的版本,就算你手動修改了 package.json 里的版本之后,就無法安裝其他模塊,報 Invalid version: "1.0" 無效版本錯誤。
相信這些問題不僅僅只有我疑問過吧。今天學習 node 模塊源碼的時候,翻到了個 semver 模塊,看到了對于版本的處理,然后找到了《語義化版本 2.0.0》官方文檔。
語義化版本
版本格式:主版本號.次版本號.修訂號,版本號遞增規則如下:
先行版本號及版本編譯信息可以加到“主版本號.次版本號.修訂號”的后面,作為延伸。
這些都來至官方解釋,詳情就直接閱讀《語義化版本 2.0.0》官方文檔吧。文檔里說有詳細介紹了 SemVer 的規范,以及為什么這樣做,什么情況用什么版本,還有常見的疑問,甚至你可以到GitHub 上提出您的問題。
都大一統吧
我之前一直都是 1.0,1.1,這樣命名的,npm 下沒辦法才用 1.0.0。現在知道為什么了,突然感覺我之前好蠢。 如果大家都遵循這個規范后,看一眼就知道這次更新大概是做了什么調整了,是加了新東西,還是修復bug,還是完全不兼容的重構。用戶就知道這次的東西是能直接升級的,還是需要修改自己的代碼才能升級的。
希望和我一樣不知道的朋友,趕緊都規范起來吧。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
- 上一篇: 计算 1!+2!+3!+……+10!
- 下一篇: 【小技巧】Xcode7.1中KSImag