此問題通常會發生在歷史悠久的專案上,而這個錯誤表示當前C套件1.0.0的版本,不符合A套件所需要的版本,但是B套件需要C套件的1.0.0版本,然而 npm 無法替我們解決互相依賴套件的版本衝突,這時候有可能就會導致安裝失敗等問題。
--force
啥都不管直接強迫安裝,很暴力,會導致版本不正確依賴的風險(不建議)
npm install --force
--legacy-peer-deps
網路上有很多文章說明這個指令是用來做什麼的,有興趣可以去查看看,而我這邊的理解是忽略互相依賴的C套件(共同持有),讓A套件和B套件各自擁有C套件的版本。
npm install --legacy-peer-deps
手動調整依賴版本,看互相依賴的套件需要的版本是在哪個區間並手動調整
也有可能只是卡住,不仿試試看清除快取,重新安裝
npm cache clean --force
以上提供四種可以解決安裝衝突的方式,請評估專案和使用時機,選擇適合自己的解決方法吧~