package.json和package-lock.json區(qū)別

package.json和package-lock.json區(qū)別

package-lock就是鎖定安裝時(shí)的包版本號(hào),需要上傳到git上,以保證其他人在install時(shí)候,大家的依賴版本相同。
這個(gè)package-lock.json 是在 npm install時(shí)候生成一份文件,用以記錄當(dāng)前狀態(tài)下實(shí)際安裝的各個(gè)npm package的具體來源和版本號(hào).
這里的^向上尖號(hào)是定義向后(新)兼容依賴,如果types/node版本是超過8.0.33,并且是在大版本(8)上相同,就允許下載最新的types/node包。同一個(gè)大版本不同版本號(hào)之間存在差異,導(dǎo)致依賴庫(kù)包行為特征有時(shí)候不兼容。

所以npm最新的版本就開始自動(dòng)生成package-lock.json功能,目的就是確保所有庫(kù)包與你上次安裝的完全一樣。
package.json文件只能鎖定大版本,即版本號(hào)的第一位,不能鎖定后面的小版本,你每次npm install時(shí)候拉取的該大版本下面最新的版本,可能有些童鞋之前就踩過類似的坑。

一般為了穩(wěn)定性考慮我們不能隨意升級(jí)依賴包,因?yàn)槿绻麚Q包導(dǎo)致兼容性bug出現(xiàn)很難排查,所以package-lock.json就是來解決包鎖定不升級(jí)問題的。

如果要升級(jí)package-lock.json里面的庫(kù)包,怎么操作呢?

npm install XXX@x.x.x  
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文轉(zhuǎn)載自我的個(gè)人博客,原文請(qǐng)移步。這是介紹包管理工具(npm 和 yarn)系列的第一篇文章,在這一篇文章中,我...
    陳鑫呀閱讀 2,565評(píng)論 0 2
  • 1.需求由來 之前,在react項(xiàng)目開發(fā)過程中遇到一個(gè)問題,同一個(gè)項(xiàng)目第一次cnpm install的時(shí)候還可以啟...
    YINdevelop閱讀 29,709評(píng)論 1 26
  • 介紹 把npm更新到v5.x.x以后, 會(huì)出現(xiàn)一種新的自動(dòng)生成文件 - Package-lock.json. 如果...
    王嘉豪_TW閱讀 15,208評(píng)論 1 9
  • 本文參考:2018 年了,你還是只會(huì) npm install 嗎?npm 官方文檔package.json文件 -...
    雙面小Q閱讀 4,957評(píng)論 1 9
  • 一個(gè)人如果單靠自己,如果置身于集體的關(guān)系之外,置身于任何團(tuán)結(jié)民眾的偉大思想的范圍之外,就會(huì)變成怠惰的、保守的、與生...
    vinterx閱讀 6,162評(píng)論 3 4

友情鏈接更多精彩內(nèi)容