npm エラーを報告しました npm ERR! コード ERESOLVE npm ERR! ERESOLVE を解決できませんでした npm ERR! npm ERR! 解決中

プロジェクトのシナリオ:

npm または Yarn を使用してサードパーティのパッケージをインストールします。


問題の説明

npmコマンドとyarnコマンドを混在させると、インストールパッケージの競合が発生します。

E:\WorkSpace\react\zhuangao_05\dome_01>npm i echarts echarts-for-react
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving: @jiaminghi/[email protected]
npm ERR! Found: [email protected]
npm ERR! node_modules/react
npm ERR!   peer react@">=16.0.0" from @ant-design/[email protected]
npm ERR!   node_modules/@ant-design/cssinjs
npm ERR!     @ant-design/cssinjs@"^1.3.0" from [email protected]
npm ERR!     node_modules/antd
npm ERR!       antd@"^5.0.4" from the root project
npm ERR!   peer react@">=16.0.0" from @ant-design/[email protected]
npm ERR!   node_modules/@ant-design/icons
npm ERR!     @ant-design/icons@"^4.7.0" from [email protected]
npm ERR!     node_modules/antd
npm ERR!       antd@"^5.0.4" from the root project
npm ERR!     @ant-design/icons@"^4.8.0" from the root project
npm ERR!   53 more (@ant-design/react-slick, @rc-component/portal, ...)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer react@"^16.8.0" from @jiaminghi/[email protected]
npm ERR! node_modules/@jiaminghi/data-view-react
npm ERR!   @jiaminghi/data-view-react@"^1.2.5" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: [email protected]
npm ERR! node_modules/react
npm ERR!   peer react@"^16.8.0" from @jiaminghi/[email protected]
npm ERR!   node_modules/@jiaminghi/data-view-react
npm ERR!     @jiaminghi/data-view-react@"^1.2.5" 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! See C:\Users\86158\AppData\Local\npm-cache\eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\86158\AppData\Local\npm-cache\_logs\2023-01-09T06_13_18_485Z-debug-0.log

原因分析:

同期が失われるリスクがあるため、yarn.lockとファイルをまとめるのが困難になる場合があります。インストールで生成されたファイルは時間が大幅に遅れているため、 のパッケージ バージョンがのパッケージ バージョンよりも低くなります。?xxx の形式で定義されたパッケージのバージョンは、期間によって一貫性がないためです。@babel/preset-env バージョンをインストールします: "7.5.5"、"^7.4.5"、実際にインストールされているバージョンは "7.5.5" です。パッケージのインストールと矛盾しますYarn と npm は互換性があります。毎回同じものを使用する限り、両者に違いはありません。これらはインストール ディレクトリが異なるため、一緒に使用することはできません。Yarn はパッケージをインストールしますが、npm がそれを見つけられません。npm はパッケージをインストールしますが、yarn がそれを見つけられませんpackage.lock
yarn installyarn.locknpm installpackage-lock.jsonyarn.lockpackage-lock.json
yarn
npmyarn


解決:

1、npm i xxx --legacy-peer-deps

npm i xxx --legacy-peer-depsコマンドを使用して依存関係をインストールしてください。

なぜ?効果?
npm install xxxx --legacy-peer-deps コマンドは、npm に何をすべきかを指示するのではなく、npm に何をしてはいけないかを指示する方が適切です。

レガシーとは、legacy/(ソフトウェアまたはハードウェア) は廃止されましたが、使用範囲が広いため置き換えが困難であること、および npm install xxxx --legacy-peer-deps コマンドを使用して、peerDependency での依存関係の自動インストールをバイパスすることを意味します。 npm に無視するように指示します。プロジェクトに導入されたさまざまな依存モジュールは、同じだが異なるバージョンに依存しており、npm v3 ~ v6 の方法でインストール操作を続行します。

したがって、実際には、このコマンドは競合を実際には解決しませんが、競合を無視して「古い」(v3 ~ v6) 方法でダウンロード操作を実行します。

2. npm インストールの依存関係に関連するすべてのファイルを削除します。

削除後、再度 npm i を実行して必要なサードパーティ パッケージをインストールします。

ファイルの競合を防ぐには、一貫したコマンドを使用してサードパーティ ライブラリをインストールします。

おすすめ

転載: blog.csdn.net/weixin_61102579/article/details/128613936