npm 3.3.12 (ノード 4.2.2) では、次のことが起こります。
npm install
プロジェクト内の依存関係の 1 つが他の依存関係の 1 つの依存関係でもあるプロジェクトで実行しています。例えば:
- 私のプロジェクトは PackageA と PackageB に依存しています
- PackageA も PackageB に依存する
- 私のプロジェクトと PackageA の両方が PackageB の同じバージョンに依存しています
次に、プロジェクトで実行npm update
します。NPM 出力リスト:
PackageB@x.x.x node_modules/PackageB -> node_modules/PackageA/node_modules/PackageB
そのため、突然 PackageB がプロジェクトの node_modules になく (PackageA の下の node_modules のみ)、プロジェクトのファイルの require("PackageB") が失敗します。
何が原因で、どうすれば問題を回避できますか?