Open1

npm ci 時に「ERESOLVE unable to resolve dependency tree Could not resolve dependency」が発生したとき

m_03m_03

npm ci もしくはinstallを実行した時に「ERESOLVE unable to resolve dependency tree Could not resolve dependency」が発生したら

これは簡単に言うと、「インストールしようとしているライブラリとそのライブラリに必要なパッケージのバージョンに差異があるため、インストールができません」と言うこと。

原因

npm ver7以降から上記の依存関係に差異があると依存関係をインストールできないようになったためでした。
具体的にはciでは今までlockファイルのみ確認してライブラリを入れていましたが、ver7からはpackage.jsonとlockファイルを確認するようになったからです。
※ver6以前は警告にとどまっていて、インストールできてしまってました。
npmをver6からアップデートしたか、依存関係などを調べずに手動でパッケージを追加した場合などに起こってしまうエラーです。

回避方法 ※非推奨

--legacy-peer-depsオプションをnpm ciの後につけることでver6までの挙動(peer dependanciesが対応していなくても無視してインストール)にする事ができます。ただし、そもそも指定されたバージョンに対応していないので、動くには動いても、使っている中でトラブルが発生する可能性があるのであまりおすすめしません。
なるだけ対応しているものにバージョンをあげたり、別のライブラリを使う方がいいでしょう。