J'ai un projet NPM qui utilise bufferutils
et utf-8-validate
, les deux nécessitant l'installation de node-gyp. Quand je fais npm install
, j'obtiens l'erreur suivante:
> [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
Auparavant, il échouait parce que Python 2.7 n'était pas installé, c'est maintenant ce qu'il est. Cela me cause des maux de tête. Que dois-je faire à ce sujet?
La réponse ci-dessous correspond à une installation manuelle, mais il existe un moyen beaucoup plus simple: l'installation automatique.
Ouvrez Powershell en tant qu'administrateur et exécutez npm install -g windows-build-tools
.
L'installation prend du temps mais ça a fonctionné comme un charme pour moi!
J'ai trouvé cette solution brillante sur GitHub:
python --version
dans la console. Si non alorschoco install python2 -y
)) et ajoutez python.exe
à votre variable PATH.npm config -g set msvs_version 2015
npm i
dans n'importe quel projet avec node-gyp comme dépendance sans voir de messages d'erreur étrangesMes cauchemars sont partis!
Après avoir passé de nombreuses heures à essayer d'installer ZeroMQ sur Winturds 7 et 10 (y compris l'installation ridicule et complètement inutile de .NET et Visual Studio), il était en fait plus facile de créer un disque de démarrage USB Ubuntu et d'installer node et ZeroMQ . Maintenant, je peux réellement faire un travail productif.
Je rencontrais ce problème lors de la mise à jour d'une ancienne version de noeud à noeud v12. Il y avait un problème particulier avec la bibliothèque bcrypt. Je viens de désinstaller v12 et d'installer v10 et tout a fonctionné.