1. 程式人生 > >NPM cache相關

NPM cache相關

今天下午把package.lock.json用別人的替換了,然後編譯一堆報錯,這個問題弄了一下午。

總結一下經驗:

1.關於npm cache

    NPM會把所有下載的包儲存,放在使用者資料夾下面,在我的windows10機器上是儲存在C:\Users\zcche\AppData\Roaming\npm-cache下面

2.關於package.lock.json

    NPM install之後會計算每個包的sha1值,然後將包與他的sha1值關聯儲存在package.lock.json裡面

 下次NPM install的時候會根據package.lock.json裡面儲存的sha1值去資料夾C:\Users\zcche\AppData\Roaming\npm-cache裡面尋找包檔案,如果存在,就不用再次從網上下載安裝報了

3.NPM cache verify

  目測這個命令是重新計算C:\Users\zcche\AppData\Roaming\npm-cache下的檔案是否與sha1值匹配,如果不匹配可能刪除?

4.NPM cache clean --force

    這個命令從C:\Users\zcche\AppData\Roaming\npm-cache下刪除所有快取檔案

 

坑:

   NPM不同版本算出來的sha1貌似不完全一樣,所以直接用別人的package.lock.json會報sha1不匹配的error

解決辦法:

    1.不使用別人的package.lock.json

    2.如果用了,刪掉package.lock.json(記得刪除回收站裡的),npm cache clear --force,npm install