2023-11-24|閱讀時間 ‧ 約 2 分鐘

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

問題原因

此問題通常會發生在歷史悠久的專案上,而這個錯誤表示當前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


結語

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


分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.