2017-05-08 410 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

相關問題