スキルアップを始める!

【Next.js】Fix the upstream dependency conflict, or retry

Vercel(ヴァーセル)
Vercel(ヴァーセル)
この記事は約3分で読めます。

※記事中に広告情報を含みます。

スキルを手に入れた時、人は強くなれる。
Youtubeでスキルアップを始める 電子書籍でスキルアップを始める
\ワードプレスのスキルアップはこちら!/ WordPress入門読本

エラーメッセージによれば、reactreact-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を再実行するだけで問題が解決することもあります。念のため、これらのファイルのバックアップを取ってから削除してください。

URLをコピーしました!