pnpm install/add/remove 卡住怎麼辦
在寫 code 的時候,尤其是需要裝新的 package 的時候,不知道為什麼會突然卡住
之前我碰過一次,意外亂弄解決了,但這次又發生一次,我大概整理出了為什麼。
後來才想到應該是 cache 的問題,所以我就去找了一下
結果...
首先先清除 cache ,但 pnpm 的方式跟 npm 、 yarn 不太一樣。
最容易搜尋到的指令是
pnpm store prune
但這個只是會去清除一些沒有對應到的 package。
而我們要做的是因為 package 的檔案裡面有衝突,所以才會卡住,而因為 pnpm 所有的 package 都是利用 reference 的方式,所以除非你刪除了 reference,不然用了上述指令就依然不會正常。
所以要做的就是要先找出 package 的所在位置,然後再手動刪除之。
pnpm store path
就會顯示路徑
/Users/[username]/Library/pnpm/store/v3
接著我們就是直接移除他們
rm -rf /Users/[username]/Library/pnpm/store/v3
這樣我們就清除了。
接著就可以刪除 node node_modules
rm -rf node_modules
然後重新安裝
pnpm install
我這邊會順便重新更新 pnpm-lock,也可以先試試不更新,如果還是行不通再來更新這部分,所以我會一起刪除 pnpm-lock.yaml
但裝到後面就會出現錯誤
這是因為我的專案有用到 husky,原因是因為我重新安裝了,所以就變成沒有權限。
這時候把權限還給它即可。
chmod +x /Users/[username]/[project_name]/node_modules/.bin/husky
這樣就可以成功跑起來了