2017-05-08 67 views
-2

我有一个节点js应用程序。在package.json中,我插入了依赖关系,但是当执行'npm install'时,node_modules dir有一个奇怪的结构: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

你的问题是什么?为什么目录结构不同?你可以发布你的package.json和你的安装方法/源代码吗? –

+0

这一切都取决于您安装的NPM版本。你可以通过运行''npm --version'''来检查你的NPM版本吗? –

回答

-1

这是确定的,NPM现在工作以这种方式。

npm3解决了与npm2不同的依赖关系。

虽然npm2以嵌套的方式安装所有依赖项,但npm3会尝试减轻这种嵌套所导致的深层树和冗余。 npm3通过以平坦的方式安装一些辅助依赖(依赖关系的依赖关系)来尝试实现此目的,即在与需要它的主依赖相同的目录中。

你可以在这里看到它:https://docs.npmjs.com/how-npm-works/npm3

相关问题