npm ERR! code ERESOLVE unable to resolve dependency tree の対処
結論を先に。このエラーは、パッケージ同士の peerDependencies(要求するバージョン)が衝突していて、npmが依存関係を解決できない状態です。まず衝突の内容を読み、バージョンを合わせるのが本筋ですが、急ぐときは —legacy-peer-deps で回避できます。
npm ERR! code ERESOLVEnpm ERR! ERESOLVE unable to resolve dependency tree原因
npm 7以降は peerDependencies を厳格にチェックします。あるパッケージが「Reactの17を要求」しているのに、別の場所で18を入れている、といった食い違いがあると、解決できずインストールが止まります。
対処
-
まずエラーログの「Found: …」「Could not resolve …」を読み、どのパッケージがどのバージョンを求めて衝突しているかを把握します。
-
一時的に回避するなら、peer依存の厳格チェックを緩めます。
npm install --legacy-peer-deps- 根本対処は、衝突しているパッケージのバージョンを合わせることです。要求に合うバージョンに上げ下げします。
npm install react@18 react-dom@18- —force はツリーを強引に壊して入れるため、最終手段にとどめます。
まとめ
- 原因は peerDependencies のバージョン衝突
- まずログでどの依存が衝突しているか確認する
- 急ぐなら —legacy-peer-deps で回避
- 根本はバージョンを合わせる。—force は最終手段