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