現在、ノード パッケージには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共有は、それぞれmkdirpat0.3.3と0.3.4です。