隨着release of [email protected],現在會寫package-lock.json
除非npm-shrinkwrap.json
已經存在。是什麼NPM-shrinkwrap.json和包lock.json之間的區別?
我安裝NPM @ 5全球範圍內通過:
npm install [email protected] -g
而現在,如果npm-shrinkwrap.json
的過程中發現:
npm install
警告將打印:
npm WARN read-shrinkwrap This version of npm
is compatible with [email protected],
but npm-shrinkwrap.json was generated for [email protected]
I'll try to do my best with it!
所以我的外賣是我應該用package-lock.json
來代替收縮包裝。
但是爲什麼出現了一個新的格式?什麼可以做package-lock.json
的npm-shrinkwrap.json
不能?
+1 - 你能澄清你的第二個重點嗎?這種行爲與npm-shrinkwrap有什麼區別? – Rhys
@Rhys第二顆子彈在實踐中無關緊要,除非你做了奇怪的事情。基本上,它只是說如果一個庫以某種方式*發佈了一個'package-lock.json'(這是不可能的),那麼如果你想將該庫作爲其他包的依賴來安裝,那麼該庫的'package -lock.json'會被NPM忽略。但是,如果庫發佈了'npm-shrinkwrap.json',並且將庫作爲依賴項安裝,那麼您還將*作爲輔助依賴項安裝在庫的'npm-shrinkwrap'中指定的所有依賴項的*精確版本* .json'。 –