私はnpmlistとしてコマンドを実行していますが、依存関係として以下のリストを取得し、重複排除の意味を知りたいです。その意味を教えてください。
回答:
deduped「重複排除」の略です(重複は削除されました)。のドキュメントでnpm dedupeは、npmこれをどのように行うかについて説明しています。
ローカルパッケージツリーを検索し、依存関係をツリーのさらに上に移動することで全体的な構造を単純化しようとします。依存関係は、複数の依存パッケージによってより効果的に共有できます。
言い換えると、複数のパッケージが同じ依存関係(同じパッケージとバージョン範囲を意味する)を持っているかどうかを確認し、それらを同じパッケージに「ポイント」します。
同じパッケージが参照されるため、2回インストールする必要はありません。
また、パッケージを「ツリーの上方」に移動します(ツリーを平坦化します)。これは完全に理にかなっています。そうしないと、1つのパッケージがnode_modules他のパッケージを調べなければならず(これはちょっと面倒です)、依存関係を単純化するのに役立ちます。
依存関係グラフ内のすべてのパッケージがグラフ内dedupedで少なくとももう1回、通常はより高いレベルで見つかるため、これを検証できます。
投稿したスクリーンショットでcontent-type@1.0.4は、の依存関係がありbody-parserます。もう少し下に、それはまた、1レベル上のエクスプレスの直接の依存関係としてリストされています。