你會發現很多專案的依賴包版本號前面會加上~,或者是^,以angular2為例:
那麼~和^的作用和區別是什麼呢?
詳細可參考
那麼該如何選擇呢?當然你可以指定特定的版本號,直接寫1.2.3,前面什麼字首都沒有,這樣固然沒問題,但是如果依賴包發布新版本修復了一些小bug,那麼需要手動修改package.json檔案;~和^則可以解決這個問題。
但是需要注意^版本更新可能比較大,會造成專案**錯誤,比如這篇文章(的問題就是因為package.json使用^1.5.7造成的,1.6版本的包與現有**不相容。
所以建議使用~來標記版本號,這樣可以保證專案不會出現大的問題,也能保證包中的小bug可以得到修復。
或者版本號寫*
,這意味著安裝最新版本的依賴包,但缺點同上,可能會造成版本不相容,慎用!
NPM依賴包版本號 和 的區別及最佳實踐
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!你會發現很多專案的依賴包版本號前面會加上 或者是 以angular2為例 那麼 和 的作用和區別是什麼呢?詳細可參考 那麼該如何選擇呢?當然你可以指定特定的版本號,直接寫1.2.3,前面什麼字首都沒有,這樣固然沒問題,但是如果依賴包發布新版本修復了...
NPM依賴包版本號 和 的區別及最佳實踐
你會發現很多專案的依賴包版本號前面會加上 或者是 以angular2為例 會匹配最近的小版本依賴包,比如1.2.3會匹配所有1.2.x版本,但是不包括1.3.0 會匹配最新的大版本依賴包,比如1.2.3會匹配所有1.x.x的包,包括1.3.0,但是不包括2.0.0 詳細可參考 那麼該如何選擇呢?當然...
秒懂NPM依賴包版本號 和 的區別
你是不是也和我一樣,總忘記 和 的區別?哈哈,或者你壓根就不知道?今天盯著semver的api看了很久 原始碼就不看了,真是的又長又醜 感覺是看到它的規律了。我們常見的大概有這些 以上的大概可以覆蓋我們常見的一些情況了,下面分析一下semver是怎麼判斷的。1 首先我們把版本分為a b c xx四個...