- 使用npm5之前的版本,是不會生成package-lock.json這個文件的。
- npm5以后,包括npm5這個版本,才會生成package-lock.json文件
- 當使用npm安裝包的時候,npm都會生成或者更新package-lock.json文件
-
- npm5以后的版本,在安裝包的時候,不需要加 --save(-s) 參數,也會自動在package.json中保存依賴項
- 當安裝包的時候,會自動創建或者更新package-lock.json文件
- package-lock.json文件內保存了 node_modules中所有包的信息,包含這些包的名稱、版本號、下載地址。帶來好處是,如果重新 npm install 的時候,就無需逐個分析包的依賴項,因此會大大加快安裝速度。
- 從 package-lock.json 文件名來看,lock代表的是“鎖定”的意思。它用來鎖定當前開發使用的版本號,防止npm install的時候自動更新到了更新版本。因為新版本有可能會更新老的api,導致之前的代碼出錯。
- 原來的 package.json 文件只能鎖定大版本,也就是版本號的第一位,並不能鎖定后面的小版本,你每次npm install都是拉取的該大版本下的最新的版本,為了穩定性考慮我們幾乎是不敢隨意升級依賴包的,這將導致多出來很多工作量,測試/適配等,所以package-lock.json文件出來了,當你每次安裝一個依賴的時候就鎖定在你安裝的這個版本。
