我有一个节点js应用程序。在package.json中我插入了依赖项,但是当我执行' npm install' node_modules目录有一个奇怪的结构:
我的依赖项的依赖关系安装在我的应用程序的node_modules中。一个例子。 考虑这个依赖图
foo
-- a
+-- b
-- c
+-- d
-- e
-- f
-- g
我期待这个文件夹结构:
foo
+--node_modules
-- a
-- b
+--node_modules
-- c
+-- d
+--node_modules
-- e
-- f
+--node_modules
-- g
而是所有模块都安装在
中foo
+--node_modules
-- a
-- b
-- c
-- d
-- e
-- f
-- g
答案 0 :(得分:-1)
没关系,NPM现在以这种方式运作。
npm3以不同于npm2的方式解析依赖关系。
当npm2以嵌套方式安装所有依赖项时,npm3会尝试缓解此类嵌套导致的深层树和冗余。 npm3通过以平面方式安装一些辅助依赖项(依赖项的依赖项)来尝试这一点,与需要它的主要依赖项位于同一目录中。