a instalação do npm que necessita de falha do nó-gyp no Windows

tenho um projecto NPM que usa bufferutils e utf-8-validate, ambos necessitando de um node-gyp para os instalar. Quando faço npm install, tenho o seguinte erro:

> [email protected] install C:\Users\Marek\WEB\moje-skoly\web-app\node_modules\bufferutil                       
> node-gyp rebuild                                                                                             


C:\Users\Marek\WEB\moje-skoly\web-app\node_modules\bufferutil {git}{hg}                                        
{lamb} if not defined npm_config_node_gyp (node "C:\Users\Marek\AppData\Roaming\npm\node_modules\npm\bin\node-g
yp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "" rebuild )                        
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.    
  bufferutil.cc                                                                                                
C:\Users\Marek\.node-gyp\5.1.1\include\node\v8.h(18): fatal error C1083: Cannot open include file: 'stddef.h': 
 No such file or directory [C:\Users\Marek\WEB\moje-skoly\web-app\node_modules\bufferutil\build\bufferutil.vcx 
proj]                                                                                                          
gyp ERR! build error                                                                                           
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1           
gyp ERR! stack     at ChildProcess.onExit (C:\Users\Marek\AppData\Roaming\npm\node_modules\npm\node_modules\nod
e-gyp\lib\build.js:276:23)                                                                                     
gyp ERR! stack     at emitTwo (events.js:87:13)                                                                
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)                                                      
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)                   
gyp ERR! System Windows_NT 10.0.10586                                                                          
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Marek\\AppData\\Roaming\\npm\\node_modules\\
npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"                                                       
gyp ERR! cwd C:\Users\Marek\WEB\moje-skoly\web-app\node_modules\bufferutil                                     
gyp ERR! node -v v5.1.1                                                                                        
gyp ERR! node-gyp -v v3.2.1                                                                                    
gyp ERR! not ok                                                                                                
npm WARN install:[email protected] [email protected] install: `node-gyp rebuild`                                 
npm WARN install:[email protected] Exit status 1                       

anteriormente falhou por causa do Python 2.7 não estar instalado, agora é isto. Está a causar-me dores de cabeça. O que devo fazer em relação a isto?

Author: Marek Lisý, 2016-02-09

2 answers

A resposta abaixo significa uma instalação manual, mas há uma maneira muito mais simples: a instalação automática.

Abre o Powershell como administrador e corre {[[0]}.

A instalação leva tempo, mas funcionou como um encanto para mim !
 44
Author: Manuel Beaudru, 2018-06-29 14:03:51

Encontrei esta solução brilhante em GitHub:

  1. O teu SO deve ser o Windows
  2. verifique se o python está no seu caminho ao escrever {[[0]} na consola. Se não for então
  3. obter python 2.7 (eu recomendo chocolatey (choco install python2 -y)) e adicionar python.exe à sua variável PATH.
  4. Não estás no Windows 7? Skip 5 e 6.
  5. verifique se tem.Net 4.5.1+ instalado. Se não for então
  6. transferir e instalar. net 4.5.1 (. Net 4.5.2 também funcionará muito bem)
  7. Download Microsoft Visual C++ Build Tools 2015 Technical Preview
  8. usar instalação personalizada. Instale o SDK do Windows 8.1 se ainda não o tiver feito. Aparentemente, não importa em que so estás. Só precisas do Windows 8.1 SDK.
  9. defina a variável de configuração do npm msvs_version para 2015: npm config -g set msvs_version 2015
  10. fazer npm i em qualquer projecto com node-gyp como uma dependência sem ver mensagens de erro estranhas

A minha os pesadelos desapareceram!

 16
Author: Marek Lisý, 2018-01-09 09:38:27