TL;DR:
このフラグの 1 つの考え方は、何か新しいことをしているわけではないということです。 ;むしろ、NPM v7 はデフォルトでピアの依存関係をインストールするため、NPM に対して新しいことをしないように指示しています。
多くの場合、これによりバージョンの競合が発生し、インストール プロセスが中断されます。
--legacy-peer-deps フラグは、ピア依存関係の自動インストールをバイパスする方法として v7 で導入されました。これは、NPM に対して、ピアの deps を無視してインストールを続行するように指示します。これは、NPM v4 から v6 までの様子です。
通常の DEP とピア DEP の違いがよくわからない場合は、ここで少しコンテキストを説明します。
期限React v17 (または最近では React 18) をピア依存関係として具体的に追加していない多数のモジュールでは、v17 React アプリケーション内で npm installs を実行すると、依存関係ツリーを解決できないというエラーが発生するのが一般的になっています。
このエラーは、モジュール (またはその独自の依存関係のいずれか) が React v17 を特に含めずに、以前のメジャー バージョンの React をピア依存関係としてリストするたびに発生します。
NPM 自体は、特定のモジュールのページにピア依存関係をリストしません。ただし、インストール前またはインストール後にピア DEP を確認する簡単な回避策があります。次のコマンドを実行するだけです:
npm info name-of-module peerDependencies
このコマンドは、各ピアの依存関係の名前と互換性のあるすべてのバージョンを返します。
以上が「npm install --legacy-peer-deps」は何をしますか?また、いつ推奨されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。