비주얼 스튜디오 2015(Visual Studio 2015)에 앵귤러js2를 받아서 넣긴 했는데.... 종속성 복원이 안 되고 다음과 같이 표시됩니다.
npm - 설치되지 않음(not installed)
UI에서 어떤 것이 실패했는지 알 수 없으므로 한땀한땀 찾아보니.....
'fsevents'가 설치되지 않았습니다.
(패키지 명으로 찾으시길 바랍니다.)
이제 오류의 내용을 알았으니 해결방법을 찾기만 하면 됩니다!
이것에 관해서 대표적인 해결방법은 npm을 글로벌 버전으로 연결하라는 것입니다.
(참고 : SCOTT HANSELMAN - Visual Studio 2015 - Fixing "Dependencies npm not installed" from fsevents with node on Windows )
글로벌 버전이라는 건 node.js를 설치하면 설치되는 폴더에 있는 npm버전을 사용하라는 것입니다.
(참고 : [Node.js] 윈도우에서 'Node.js'와 'NPM'을 설치하기 )
윈도우에서 디폴트 경로로 설치하면 2가지 경로 중 한군데 설치됩니다.
C:\Program Files (x86)\nodejs
or
C:\Program Files\nodejs
비주얼 스튜디오에서
도구 > 옵션 > 프로젝트 및 솔루션 > 외부 웹 도구
를 선택한 후 node.js를 설치한 경로를 추가합니다.
그리고 위치를 맨 위로 옮겨 둡니다.
그런데 전 이 방법 써봐도 달라지는 게 없습니다.
뭔가 빠진 거 같은데 여러 곳에서 이렇게만 설명하고 있어서 뭐가 문제인지 모르겠습니다.
결국 다른 방법을 찾다가 보니 여러 곳에서 임시로 해당 내용(저 같은 경우 'fsevents')이 설치되지 못하도록 'package.json'을 수정하라는 것입니다.
(참고 : stack overflow - Dependencies not installed in Visual Studio의 'Nick De Beer'님 답변 )
솔루션 탐색기에서 '모든 파일 표시'를 눌러 프로젝트에 포함되지 않은 파일을 표시합니다.
node_modules > chokidar > package.json
파일을 엽니다.
(다른 패키지가 문제라면 그 패키지가 포함된 'package.json'를 찾아야겠죠 ㅎㅎ)
다음 줄을 찾아 지웁니다.
"dependencies"에 "fsevents" 줄
"keywords"에 "file" 줄
"keywords"에 "fsevents" 줄
"optionalDependencies" 를 통째로 지웁니다.
이렇게 하고 빌드하시면 일단 종속성 문제는 해결됩니다...
이제 문제가 해결되었습니다!
근데 이거 빌드오류를 내거나 하진 않습니다.
다른 곳에 쓰여 있는 글로는 'fsecents'가 iOS에서만 사용한다고 설명돼있는 곳도 있고 OSX계열에서는 다 사용한다고 나와 있는 곳도 있었습니다.
윈도우에서는 필요 없는 종속성이라고 합니다.
이 문제를 해결하려고 이것저것 찾아보니 비주얼 스튜디오에서 npm을 사용할 때 문제가 많다고 하네요-_-;;;
한동안은 고생하게 생겼습니다 ㅎㅎㅎ