npm インストールの依存関係エラーを解決する方法 ERESOLVE は依存関係ツリーを解決できません

依存関係管理は、すでに現代のフロントエンド プロジェクト開発の不可欠な部分であり、歴史的な理由、プロジェクト メンテナンスの欠如などのさまざまな問題により、フロントエンド プロジェクトは依存関係管理において多くの問題に遭遇します。この記事では、そのうちの 1 つnpm installERESOLVE unable to resolve dependency treeエラーの理由、およびその解決方法について説明します。

エラーメッセージ

[email protected]インストールしたプロジェクトに依存関係をインストールするとali-react-table、次のエラーが発生します。エラーの原因を注意深く読むと、ali-react-tableでの使用peerDependenciesが依存react@"^16.8.0 || ^17.0.1"プロジェクトを定義しており、これがプロジェクトのReactバージョンわかります。これは、メンテナンスをali-react-table怠り、サードパーティの依存関係に対する私たちの管理は比較的低い. サードパーティの依存関係の更新を待つか、PRマージされたリリースを言及して待つことに加えて、いくつかのその他の方法 この問題は一時的に解決できます。

npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! 
npm ERR! While resolving: [email protected]
npm ERR! Found: [email protected]
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.1" from [email protected]
npm ERR! node_modules/ali-react-table
npm ERR! ali-react-table@"*" 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. 

オプション 1: ダウングレード

依存関係ルールの検証はnpm@7の後に。エラーを報告することなく、検証をダウングレードまたはNode.jsバイパスできます。npm

nvm use 14.17.4

## or

npm i -g npm@6 

オプション 2: -f または --legacy-peer-deps

実際、メンテナンスを怠ったため、依存バージョン情報の更新が間に合わなかったali-react-tableことが。実際のテストと私たちのプロジェクトの[email protected]テストは問題なく実行できます。その後、インストール時に--forceパラメーター (省略形-f) を使用して、インストールをnpm強制するようできます。

npm install -f 

別のパラメーターは、--legacy-peer-depsダウングレードせnpmずにnpm install古いバージョンの動作を作成できることです。ドキュメントを参照してくださいただし、このパラメーターの実際の効果はプロジェクトによって異なる場合があるため、自分でテストする必要があります。

npm install --legacy-peer-deps 

オプション3:またはyarnresolutionsnpmoverrides

実際のプロジェクトでは、ali-react-table依存この問題を抱えている依存関係が多数存在する場合もあります。サードパーティのパッケージで指定された依存関係のバージョンを指定してオーバーライドするために使用できますresolutions( use のみを使用yarnできます。ドキュメントを参照してください) またはoverrides(npm@8上記を使用できます。ドキュメントを参照してください)。このパラメーターは、必要なサードパーティの依存関係のメンテナンスが不足している、指定されたバージョンが問題のあるバージョンであるなど、他のシナリオでも非常に効果的です。

{"name": "project","version": "1.0.0","dependencies": {},"resolutions": {"react": "^18.2.0"}
} 
{"overrides": {"react": "^18.2.0"}
} 

要約する

依存関係の管理は現在、フロントエンド開発の重要な部分です. サードパーティの依存関係のバージョンの更新に注意を払い、メジャー バージョンの更新が自分のプロジェクトBreaking Changeプロジェクトの開発と運用に影響を与える依存バージョンの問題を回避します。エラーが発生した場合は、エラーの説明を読んでエラーの根本原因を突き止め、適切な薬を処方して適切な解決策を見つける必要があります。

やっと

最近では、JavaScript と ES のノート、合計 25 の重要な知識ポイントも整理し、各知識ポイントの説明と分析を行いました。JavaScript と ES の関連知識をすばやく習得し、作業効率を向上させるのに役立ちます。



困っている友達は、下のカードをクリックして無料で受け取り、共有できます

おすすめ

転載: blog.csdn.net/Android062005/article/details/129023738