2017-05-08 5 views
-2

노드 js 응용 프로그램이 있습니다. package.json에서 종속성을 삽입했지만 'npm install'을 실행하면 node_modules 디렉토리에 이상한 구조가 생깁니다.npm install은 node_modules 디렉토리를 생성하지 않습니다

내 종속성의 종속성이 내 응용 프로그램의 node_modules에 설치됩니다. 예제. 대신 모든 모듈이

괜찮아
foo 
+--node_modules 
      -- a 
      -- b 
      -- c 
      -- d 
      -- e 
      -- f 
      -- g 
+0

무엇입니까? 디렉토리 구조가 다른 이유는 무엇입니까? package.json과 설치 방법/소스를 게시 할 수 있습니까? –

+0

모두 설치 한 NPM 버전에 따라 다릅니다. '''npm --version'''을 실행하여 NPM 버전을 확인해 주시겠습니까? –

답변

-1

, NPM 이제이 방식으로 작동에 설치되어

foo 
+--node_modules 
      -- a 
      -- b 
       +--node_modules 
          -- c 
          +-- d 
           +--node_modules 
              -- e 
              -- f 
              +--node_modules 
                 -- g 

:이 종속성 그래프를

foo 
-- a 
+-- b 
    -- c 
    +-- d 
     -- e 
     -- f 
     -- g 

을 고려 나는이 폴더 구조를 예상했다.

npm3은 npm2와는 다른 종속성을 해결합니다.

npm2는 중첩 된 방식으로 모든 종속성을 설치하지만 npm3은 이러한 중첩이 야기하는 깊은 나무와 중복을 완화하려고 시도합니다. npm3은 몇 가지 2 차 종속성 (의존성 종속성)을이를 필요로하는 1 차 종속성과 동일한 디렉토리에 편평한 방식으로 설치하여이를 시도합니다.

당신은 거기에 그것에 대해 읽을 수 있습니다 : https://docs.npmjs.com/how-npm-works/npm3