當執行 npm install 時,出現錯誤 Conflicting peer dependecy: XXX,並出現提示:Fix the upstream dependecy conflict, or retry this commaned with --force or --legacy-peer-deps。
此時只要嘗試執行
npm install --legacy-peer-deps
確實能夠避免這個錯誤,然而卻無法保證套件運作都是正常的,這個方法只能當作緩解,更正確的作法是將套件更新以保證互相兼容,以避免未來引發其他潛在問題。
首先,列出目前套件版本落後的項目:
npm outdated
可以注意我們會得到哪些訊息,Current 為目前安裝的版本;Wanted則是 npm 自動安裝的版本,確保版號的第一碼一致,盡可能地安裝最新的版本;Lastest 則是目前最新的版本。例如下方這個設定,對照圖片上的訊息,npm會自動安裝版本 7.23.2。
{ "devDependencies": { "@babel/core": "^7.16.12" } }
因為下一步我們會將package-lock.json移除,因此若 Current 和 Wanted 不一致,必須確保 Wanted 顯示的版本並不會影響到目前的專案,根據版本的需求做出對應的調整。若確定不升級,請記得務必調整package.json,確保安裝正確的版本。
下一步,移除目錄node_modules/和檔案package-lock.json。
最後重新安裝套件:
npm install
確認一下專案是否都正常,大功告成!