ホームページ > ウェブフロントエンド > jsチュートリアル > 「npm install --legacy-peer-deps」は何をしますか?また、いつ推奨されますか?

「npm install --legacy-peer-deps」は何をしますか?また、いつ推奨されますか?

Linda Hamilton
リリース: 2024-11-28 14:15:19
オリジナル
1066 人が閲覧しました

What does `npm install --legacy-peer-deps` do and when is it recommended?

npm install --legacy-peer-deps は正確に何をしますか?いつ推奨されますか? 潜在的な使用例は何ですか?

TL;DR:

  • NPM v7 はデフォルトでピア依存関係をインストールします。これは、NPM の以前のバージョンには当てはまりません。
  • NPM モジュールは、ピア依存関係の特定のバージョンに名前を付ける必要があります。
  • ピア依存関係が既にインストールされているが、指定されたバージョンがインストールされていない場合は、
  • --legacy-peer-deps を追加すると、この新しい要件が無視され、破壊が発生する危険があります。

--legacy-peer-deps は NPM v4 から v6 までのピア依存関係のインストール動作を復元します

このフラグの 1 つの考え方は、何か新しいことをしているわけではないということです。 ;むしろ、NPM v7 はデフォルトでピアの依存関係をインストールするため、NPM に対して新しいことをしないように指示しています。

多くの場合、これによりバージョンの競合が発生し、インストール プロセスが中断されます。

--legacy-peer-deps フラグは、ピア依存関係の自動インストールをバイパスする方法として v7 で導入されました。これは、NPM に対して、ピアの deps を無視してインストールを続行するように指示します。これは、NPM v4 から v6 までの様子です。

依存関係とピア依存関係

通常の DEP とピア DEP の違いがよくわからない場合は、ここで少しコンテキストを説明します。

  • 依存関係: ライブラリまたはモジュール
  • peerDependency: ピア依存関係は、モジュールが設計されているサードパーティ ソフトウェア ライブラリの特定のバージョンまたはバージョンのセットです。

この問題は、部分的に React v17 によって引き起こされています

期限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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート