エラーメッセージによれば、react
とreact-use
のバージョンが競合している?ようです。
code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: nextjs-notion-starter-kit@2.0.0
npm ERR! Found: react@18.2.0
npm ERR! node_modules/react
npm ERR! react@"^18.2.0" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer react@"^16.8.0 || ^17.0.0" from react-use@17.3.2
npm ERR! node_modules/react-use
npm ERR! react-use@"^17.3.2" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR!
npm ERR! For a full report see:
以下の手順で問題を解決できるかもしれません。
互換性のあるReactのバージョンを使用する
互換性のあるReactのバージョンを使用する: Reactを互換性のあるバージョンにダウングレードすることを検討できます。
現在のバージョンをアンインストールし、互換性のあるバージョンをインストールします。
npm uninstall react react-dom
npm install react@17 react-dom@17
強制的にインストール
強制的にインストール: 依存関係が間違っているリスクを理解している場合、--force
フラグを使用できます。
[rml_read_more]
npm install --force
レガシーなピア依存関係を使用
レガシーなピア依存関係を使用: 同様に、--legacy-peer-deps
フラグを使用できます。これはピア依存関係を無視します(npm 7以降で使用可能)。
npm install --legacy-peer-deps
使用しているパッケージの依存関係を確認
使用しているパッケージの依存関係を確認: nextjs-notion-starter-kit
パッケージ(または問題の原因となっている他のパッケージ)を調べ、React 18をサポートしているバージョンが提供されているかどうかを確認してみてください。
競合を手動で解決
競合を手動で解決: npm
バージョン7以上を使用している場合、package.json
に解決策を追加して、競合しているパッケージの特定のバージョンを定義することができます。
この機能が適用できるかどうかは、npmのバージョンによって異なるため、詳細はnpmのドキュメントを参照してください。
まとめ
これらのアクションを実行する前に、コードのバックアップを取り、特に2番目または3番目の方法を検討している場合は、アプリケーションで予期しない動作が発生する可能性があるため、これらの操作の意味を理解することが重要です。
場合によっては、単にnode_modules
ディレクトリとpackage-lock.json
ファイルを削除し、npm install
を再実行するだけで問題が解決することもあります。念のため、これらのファイルのバックアップを取ってから削除してください。