NPM cache相關
阿新 • • 發佈:2018-11-22
今天下午把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