티스토리 뷰

728x90
반응형

NPM Install 도중에 node-gyp 빌드 오류가 발생하는 경우

오류 상황

Node 기반에서 돌아가는 어플리케이션을 Github에서 다운로드 받아서 테스트를 위해서 npm install 명령을 했을 때 뜬금없이 msbuild 관련한 환경설정이 부족해서 오류가 발생했다.

  • Python 2.5 이상 3.0 이하 설치 해야 한다는 오류
  • 설치 했더니 .NET Framework 2.0 이상을 설치해야 한다는 오류
  • 설치 했더니 VCBuil.exe 가 존재하지 않으니 .NET Framework 2.0 SDK 나 Visual Studio 2005를 설치해야 한다는 오류
  • ...

상기의 상태에서 더 이상 진행 불가!!! 물론 전부를 설치하면 되겠지만 그렇다고 쓰지도 않는 툴들을 설치하는 것은 문제가 있어 보인다.

오류 원인

오류의 원인은 간단하다. 해당 어플리케이션 패키지에 정의된 의존성 패키지들 중에 설치과정에서 빌드를 거쳐야 하는 것이 존재하며 Python 으로 구현된 것들과 VC 로 구현된 것을 MSBuild를 이용해서 처리하기 때문이다.

일반적으로 Node 기반의 개발에서는 VSCode 나 Atom 등의 도구와 NodeJS, Git 등의 툴들만 사용하기 때문에 관련된 다른 언어나 IDE 환경이 존재하지 않기 때문이다.

오류 해결 방법

가장 쉬운 방법은 모든 언어와 IDE 개발 환경을 맞춰주면 전혀 문제가 없겠지만, 쓰지도 않는 환경을 단지 설치 상의 빌드 때문에 설치하고 지우는 것도 웃기다.

역시 구글링을 하다보니 이런 문제로 시달리는(?) 사람들이 많은 것 같다. 대부분은 아래와 같이 권장하고 있다.

  • Python 설치 및 Visual Studio 2010 이하 환경

    • 위에서 언급한 오류는 발생하지 않는다. 다만 다른 오류가 있다면 해결하면 되는 상황
  • Python 설치 및 Visual Studio 2012 이상 환경

    • Visual Studio 2010 부터 환경부분이 변경된 것이 있어서 Visual Studio 버전 관련 오류가 발생하므로 다음과 같이 버전을 변경해서 처리해 주어야 한다.

      $ npm install <target_module> --msvs_version=2012
      

      msvs_version 은 현재 설치되어 있는 버전을 지정하면 된다.

      만일 전체적인 npm 에 설정을 적용해 놓고 싶은 경우는 아래의 명령을 이용하면 된다.

      $ npm config set msvs_version 2013 --g
      
  • Python 및 기타 VS 환경이 없는 경우

    • 이런 상황을 위해서 필요한 툴들과 환경을 처리해 주는 패키지가 제공되고 있으므로 아래와 같이 처리하면 된다.

      $ npm install -g windows-build-tools
      

      단, 이 방법은 Powhershell 을 관리자 모드로 진행해 주어야 한다.


Written by Morris (ccambo@gmail.com - MSFL)

728x90
반응형
댓글
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함