關(guān)于package-lock.json

介紹

package-lock.json是項(xiàng)目在'npm install'時(shí)生成的一份文件,用來(lái)記錄當(dāng)前狀態(tài)下實(shí)際安裝的各個(gè)npm package的 具體來(lái)源和版本號(hào)。

作用

因?yàn)閚pm是用于管理package之間依賴關(guān)系的管理器,它允許開(kāi)發(fā)者在package.json中標(biāo)出項(xiàng)目對(duì)npm各庫(kù)包的依賴。

舉個(gè)栗子:

"dependencies": {
"@types/node": "^8.0.33",
},

這里面的 向上標(biāo)號(hào)^是定義了向后(新)兼容依賴,指如果 types/node的版本是超過(guò)8.0.33,并在大版本號(hào)(8)上相同,就允許下載最新版本的 types/node庫(kù)包,例如實(shí)際上可能運(yùn)行npm install時(shí)候下載的具體版本是8.0.35

以后直接改 package.json 文件相應(yīng)模塊的版本號(hào),再執(zhí)行npm install不會(huì)更新了(好可怕),你只能手動(dòng)用npm install xxx@yy指定版本號(hào)來(lái)安裝,然后它會(huì)自動(dòng)更新 package-lock.json 文件。直接執(zhí)行npm install時(shí),如果不存在 package-lock.json 文件,它會(huì)根據(jù)安裝模塊后的 node_modules 目錄結(jié)構(gòu)來(lái)創(chuàng)建;如果已經(jīng)存在 package-lock.json 文件,則它只會(huì)根據(jù) package-lock.json 文件指定的結(jié)構(gòu)來(lái)下載模塊,并不會(huì)理會(huì) package.json 文件。

禁止生成這個(gè)文件的方法

npm config set package-lock false
最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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