當出現 npm ERR! Could not resolve dependency 時怎麼辦?為什麼會遇到?

2023/11/24閱讀時間約 1 分鐘

問題原因

此問題通常會發生在歷史悠久的專案上,而這個錯誤表示當前C套件1.0.0的版本,不符合A套件所需要的版本,但是B套件需要C套件的1.0.0版本,然而 npm 無法替我們解決互相依賴套件的版本衝突,這時候有可能就會導致安裝失敗等問題。


解決方法一:使用 --force

啥都不管直接強迫安裝,很暴力,會導致版本不正確依賴的風險(不建議)

npm install --force

解決方法二:使用 --legacy-peer-deps

網路上有很多文章說明這個指令是用來做什麼的,有興趣可以去查看看,而我這邊的理解是忽略互相依賴的C套件(共同持有),讓A套件和B套件各自擁有C套件的版本。

參考資料 01
參考資料 02

npm install --legacy-peer-deps

解決方法三:手動解決依賴衝突

手動調整依賴版本,看互相依賴的套件需要的版本是在哪個區間並手動調整

解決方法四:清理快取和重新安裝

也有可能只是卡住,不仿試試看清除快取,重新安裝

npm cache clean --force


結語

以上提供四種可以解決安裝衝突的方式,請評估專案和使用時機,選擇適合自己的解決方法吧~


卡比的工程師之旅
卡比的工程師之旅
Kirby:O 茫茫Code海中,總是得多少學一點,聯繫請洽 [email protected]
留言0
查看全部
發表第一個留言支持創作者!