現在、ノード パッケージにはexpress
とが必要locomotive
です。と の両方express
に パッケージlocomotive
が必要です。commander
各パッケージ (express
およびlocomotive
) がコマンダーを必要とする場合、これは 2 つの異なるファイルに解決されます。ノードのドキュメントに基づいて、commander
パッケージは 2 回実行され、パッケージの 2 つのマスター コピー (commander
ファイルごとに 1 つ) がアプリ内に存在します。
についての私の理解に基づいてrequire.resolve()
、require() はマシンのルート ディレクトリ (またはユーザーが許可されている限り) までディレクトリ ツリーを検索し、途中ですべてのディレクトリを検索します./node_modules/commander
。
commander
次に、パッケージ (および他のすべての重複パッケージ) をnode_modules
アプリのルートにあるフォルダーに統合する必要がありますか?
編集 12:58 pm: また、重複したパッケージが同じバージョンではない可能性があることにも気付きました。express
持っているcommander 0.6.1
間locomotive
持っていcommander 1.0.4
ます。別の依存関係express
とlocomotive
共有は、それぞれmkdirp
at0.3.3
と0.3.4
です。