2015-02-01 1 views
6

안녕하세요. Windows에서 기본 노드 모듈을 만드는 과정에 있지만 node-gyp build binding.gyp 명령을 실행할 때마다 "error: Can't find "msbuild.exe". Do you have Microsoft Visual Studio C++ 2008 installed?"이라는 오류가 발생합니다. Visual Studio 2013이 설치되어 있으며 msbuild 디렉터리가 C:\Windows\Microsoft.NET\Framework\v3.5\msbuild.exe.입니다. PATH 변수에 추가하려고했는데 cmd 프롬프트를 시작하고 msbuild.exe을 실행할 수 있습니다. 따라서 버전이 작동하는 것처럼 보이지만 일부는 반환 할 수 있습니다. 이유는 node-gyp이 그것을 감지 할 수 없기 때문에 node-gyp 내의 build.js 파일을 msbuild 위치를 가리 키도록 수정하려고 시도했지만 실패합니다.Node-gyp에서 msbuild.exe를 찾을 수 없습니다.

+0

이 @Alan의 모든 업데이트 ?? – ShaMoh

+0

이것은 문제 해결의 대신에 다른 dev 환경으로 옮기기로 결정한 문제 중 하나입니다. 이제 클라우드 9를 사용합니다. – Alan

+0

로컬 컴퓨터에 앱을 설정하려고합니다. 어떤 제안이 문제를 해결하는 방법 ?? – ShaMoh

답변

2

다운로드 할 수있는 단지 빌드 도구

마이크로 소프트가 2013 도구를 빌드 : http://www.microsoft.com/en-us/download/details.aspx?id=40760

실행 cmd를 2013 버전을 사용하여 전역 플래그를 설정 :이 모든 후

npm config set msvs_version 2013 --global

을해야 정상으로 돌아 오면 npm install/node-gyp rebuild가 작동합니다.

+3

이 나를 위해 작동하지 않았다 – LoveAndHappiness

2

나는 궁극적 인 해결책은이 문제를 해결하기 위해서입니다. 내 버전은 :이 명령 시도 0.12.4 (64 비트), 힘내 2.5.3, NPM 2.10.1, Windows 7 및 비주얼 스튜디오 2013 아무것도 Nodejs 일까지 : 그러나

npm install -g node-gyp 

을, 다음 나는이 일을하려고 할 때 동일한 오류가 발생했습니다. 사용하기 :

npm install -g --msvs_version=2013 node-gyp rebuild 

일관되게 작동하는 것 같습니다.

저는이 문제가 많은 사람들이 Windows에서이 문제를 해결하려고 노력하는 데 도움이되기를 바랍니다. 내 경우

2

는 오류 아래주고 있었다 : 다운로드 첫째

  1. 과에서 마이크로 소프트는 도구 2013 빌드 설치 :

    C:\Users\user\DemoApp2\node_modules\bufferutil>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild) else (node "" rebuild) 
    gyp ERR! build error 
    gyp ERR! stack Error: Can't find "msbuild.exe". Do you have Microsoft Visual Studio C++ 2008+ installed? 
    gyp ERR! stack  at findMsbuild (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:128:23) 
    gyp ERR! stack  at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:110:11 
    gyp ERR! stack  at F (C:\Program Files\nodejs\node_modules\npm\node_modules\which\which.js:69:16) 
    gyp ERR! stack  at E (C:\Program Files\nodejs\node_modules\npm\node_modules\which\which.js:81:29) 
    gyp ERR! stack  at C:\Program Files\nodejs\node_modules\npm\node_modules\which\which.js:90:16 
    gyp ERR! stack  at C:\Program Files\nodejs\node_modules\npm\node_modules\which\node_modules\isexe\index.js:44:5 
    gyp ERR! stack  at C:\Program Files\nodejs\node_modules\npm\node_modules\which\node_modules\isexe\windows.js:29:5 
    gyp ERR! stack  at FSReqWrap.oncomplete (fs.js:123:15) 
    gyp ERR! System Windows_NT 10.0.10240 
    gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" 
    gyp ERR! cwd C:\Users\user\DemoApp2\node_modules\bufferutil 
    gyp ERR! node -v v6.3.1 
    gyp ERR! node-gyp -v v3.3.1 
    gyp ERR! not ok 
    npm WARN install:[email protected] [email protected] install: `node-gyp rebuild` 
    npm WARN install:[email protected] Exit status 1 
    
    [email protected] install C:\Users\user\DemoApp2\node_modules\utf-8-validate 
    node-gyp rebuild 
    

    그래서 내가이 문제를 해결하려면 아래 단계 다음 http://www.microsoft.com/en-us/download/details.aspx?id=40760 및 은 catalint에서 제안한대로 npm config set msvs_version 2013 --global으로 실행됩니다.

  2. C:\Users\user\AppData\Roaming\npm\node_modules에서 $nodehome\node_modules\npm\node_modulesnpm install -g fs --save-dev
  3. 복사를 다운로드 FS 폴더를 실행 C:\Users\user
  4. 에서 폴더 .npm-gyp을 삭제합니다 (참고 : 내 경우에는 그 C:\Program Files\nodejs\node_modules\npm\node_modules)
  5. 위의 단계를 수행 한 후 npm install --msvs_version=2013 node-gyp rebuild

을 실행 빌드 오류가 발생하지 않았습니다.

+1

오류를 위해 blockquote를 사용하지 말고, 포맷을 유지하기 위해 코드 블록을 사용하십시오. –

관련 문제