今天同事給了一個webpack的項目,我拿過來,npm install 突然出現報錯了,並且報了一個奇怪的錯誤,
如下所示,
Unexpected end of JSON input while parsing near ‘--- “https:// github.com/w”’,
安裝依賴從來沒有失敗過,我就和同事說了一下,是不是項目的依賴有問題,他說沒有問題,他的項目都已經跑起來,問了一下其它同事,他們安裝也沒有這樣的問題,這就有點無奈了,只有我一個人有問題。為了排查是哪個依賴有問題,我把所有依賴都刪除了,然后一個一個進行安裝,到最后發現,竟然是webpack安裝有問題,這有點接受不了,一個webpack的項目,竟然無法安裝webpack, webpack 安裝有問題,項目無法啟動,根本無法進行下一步操作。一時之間,竟不知道怎么辦了。
最后同事說,是不緩存有問題,因為以前npm 安裝依賴從來沒有出現問題,我也不知道有緩存的問題,然后使用命令清緩存. npm cache verify, 清緩存以后,安裝webpack, 還是報同樣的錯誤,同事也沒有辦法了。
這時,我想是不是node 的問題,重新把node 安裝了一下,依然報同樣的問題。這時打開了node 安裝webpack依賴報錯的日志,它有一個fetch 304, (from cache), 再加上同事說的緩存的問題,我非常肯定的確認是緩存的問題了。以前也看過日志,但不知道有緩存一說,也就沒有太在意。
在網上找清緩存的辦法,第一個就是 npm cache verify, 沒有效果,還有一個方法npm cache clean --force, 還是沒有作用,最后想到到底緩存放到什么地方,因為以前全局安裝某個命令的時候,有一個AppData/roaming 的文件夾,里面放到就是npm 的命令, 這時搜了一下npm cache 存放的位置,也是在這個地方,C:\Users\{用戶名}\AppData\Roaming\npm-cache, 找到這個文件夾后, 把整個文件夾全刪除掉了,然后重新安裝npm install, 報了一個錯,rollbackFailedOptional, 嚇死了,因為緩存的文件夾都有刪除了還有問題,那就沒有辦法了,想的是只能重裝系統了。趕緊搜了一下,是網絡的問題,再重新npm install, 終於安裝成功了,花了一上午的時間,第一次感覺到心累
原文出處:
npm 安裝包失敗 --- 清除npm緩存 - SamWeb -
博客園 https://www.cnblogs.com/SamWeb/p/10255937.html