📚 Reference
📜 Chapter
package.json 파일에 직접 명시되지 않은 패키지가 코드에서 사용될 때 발생하는 문제이다.node_modules 디렉토리를 플랫하게(flat) 구성하는 경향이 있었다.foo에 의존하고, foo는 다시 패키지 bar에 의존한다고 가정해 보자.foo -> barnode_modules 구조에서는 node_modules 최상위에 foo와 bar가 모두 설치될 수 있다.your-project/
└── node_modules/
├── foo/ (프로젝트 A의 직접 의존성)
└── bar/ (foo의 의존성이지만 최상위에 설치됨)
your-project 코드에서 bar를 직접 require('bar') 또는 import 'bar' 해서 사용할 수 있게 된다.bar는 package.json에 명시된 직접적인 의존성이 아니다. 즉, "유령처럼 존재하지만 실제로는 정의되지 않은" 의존성인 셈이다.