Nous avons des problèmes pour exécuter "npm install" sur notre projet. Un certain fichier est introuvable:
fatal error C1083: Cannot open include file: 'windows.h'
Il semble provenir du module node-gyp :
c:\Programme Fichiers\nodejs\node_modules\npm\node_modules\node-gyp\src\win_delay_lo ad_hook.c (13):
erreur fatale C1083: impossible d'ouvrir le fichier à inclure: 'windows.h': pas de succès fichier ou répertoire [D:\ngs-frontend-next\node_modules\browser-sync\node_module s\socket.io\node_modules\engine.io\node_modules\ws\node_modules\bufferutil\buil d\binding.sln]
Ce nœud-gyp semble être une source de douleur sans fin pour nous. Au début, il s'est plaint qu'il avait besoin de python, nous l'avons donc installé. Ensuite, il s'est plaint du besoin de VCBuild, que nous avons installé (à l'aide du SDK .NET 2.0). Nous avons maintenant cette erreur. C'est presque comme si les erreurs devenaient de plus en plus obscures, et il semblerait que nous empruntions un mauvais chemin.
La chose étrange est que les autres membres de notre équipe n'ont aucun problème à exécuter npm-install.
L'erreur complète ressemble à ceci:
c:\Programme Fichiers\nodejs\node_modules\npm\node_modules\node-gyp\src\win_delay_lo ad_hook.c (13):
erreur fatale C1083: impossible d'ouvrir le fichier à inclure: 'windows.h': pas de succès fichier ou répertoire [D:\ngs-frontend-next\node_modules\browser-sync\node_module s\socket.io\node_modules\engine.io\node_modules\ws\node_modules\bufferutil\buil d\binding.sln]
gyp ERR! erreur de construction gyp ERR! Erreur de pile:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
a échoué avec code de sortie: 1 pile dans ChildProcess.onExit (C:\Program Fichiers\nodejs\node_modules\npm\node _modules\node-gyp\lib\build.js: 270: 23) gyp ERR! empiler à emitTwo (events.js: 87: 13) gyp ERR! pile dans ChildProcess.emit (events.js: 172: 7) gyp ERR! empiler à Process.ChildProcess._handle.onexit (internal/child_proces S.js: 200: 12) gyp ERR! Système Windows_NT 6.1.7601 gyp ERR! commander "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodej S\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "reconstruire" gyp ERR! cwd D:\ngs-frontend-next\node_modules\browser-sync\node_modules\socket . io\node_modules\engine.io\node_modules\ws\node_modules\bufferutil gyp SE TROMPER! noeud -v v4.2.2 gyp ERR! node-gyp -v v3.0.3 gyp ERR! pas ok npm WARN facultatif dep a échoué, en continuant [email protected][email protected] postinstall D:\ngs-frontend-next\node_modules\gulp-imagemin\nod .__ e_modules\imagemin\node_modules\imagemin-gifsicle\node_modules\gifsicle noeud lib/install.js
Out pacakge.json ressemble à ceci:
{
"name": "Fast-nunjucks",
"version": "0.0.1",
"description": "A simple boilerplate using nunjucks as a template engine",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "https://github.com/willianjusten/Fast-nunjucks.git"
},
"keywords": [
"nunjucks",
"node",
"gulp",
"stylus"
],
"author": "Willian Justen de Vasconcellos",
"license": "ISC",
"bugs": {
"url": "https://github.com/willianjusten/Fast-nunjucks/issues"
},
"homepage": "https://github.com/willianjusten/Fast-nunjucks",
"devDependencies": {
"autoprefixer-stylus": "^0.7.1",
"browser-sync": "^2.8.2",
"gulp": "^3.9.0",
"gulp-cache": "^0.3.0",
"gulp-concat": "^2.6.0",
"gulp-if": "^1.2.5",
"gulp-imagemin": "^2.3.0",
"gulp-minify-html": "^1.0.4",
"gulp-nunjucks-html": "^1.2.2",
"gulp-order": "^1.1.1",
"gulp-plumber": "^1.0.1",
"gulp-stylus": "^2.0.6",
"gulp-uglify": "^1.2.0",
"gulp-util": "^3.0.6",
"jeet": "^6.1.2",
"kouto-swiss": "^0.11.13",
"minimist": "^1.1.3",
"rupture": "^0.6.1"
},
"dependencies": {
"gulp-install": "^0.6.0"
}
}
Les messages d'erreur ont été source de confusion pour moi et ne m'ont pas aidé à résoudre complètement les erreurs.
Le projet README.md for node-gyp répertorie mieux les instructions d’installation pour Unix, Max OS X et Windows.
Dans les systèmes Windows, vous pouvez choisir Option 1 ou Option 2, mais l’essentiel est d’installer le Visual C++ Build Tools .
La citation suivante provient de la section d'installation de Windows:
- Sous Windows:
- Environnement de construction Visual C++:
- Option 1: Installez les outils de compilation Visual C++ à l'aide de l'option d'installation par défaut.
- Option 2: Installez Visual Studio 2015 (ou modifiez une installation existante) et sélectionnez Outils communs pour Visual C++ lors de l'installation. Cela fonctionne également avec les éditions gratuites Community et Express for Desktop.
[Windows Vista/7 uniquement] requiert .NET Framework 4.5.1- Installez Python 2.7 (v3.x.x n'est pas pris en charge) et exécutez
(ou voir ci-dessous pour plus d'instructions sur la spécification de la version et du chemin Python appropriés.)npm config set python python2.7
- Lancer cmd,
npm config set msvs_version 2015
Si les étapes ci-dessus ne vous ont pas aidé, veuillez consulter le Guide Node.js de Microsoft pour Windows pour obtenir des conseils supplémentaires.
Instructions communes pour la configuration Python:
Si vous avez plusieurs versions de Python installées, vous pouvez identifier la version de Python utilisée par node-gyp en définissant la variable '--python':
$ node-gyp --python /path/to/python2.7
Si node-gyp est appelé via npm et que plusieurs versions de Python sont installées, vous pouvez définir la clé de configuration 'python' de npm sur la valeur appropriée:
$ npm config set python /path/to/executable/python2.7
J'ai réussi à configurer mon système en suivant les instructions ci-dessus.
Information système
λ ver
Microsoft Windows [Version 6.1.7601]
λ node -v
v6.2.0
λ npm -v
3.9.2
Liens vers des outils/articles pertinents:
Essayez d’installer à nouveau avec --force option
:
npm install --force
Si cela ne fonctionne pas, essayez de mettre à jour npm globalement:
npm update -g npm
et essayez à nouveau avec l'option --force
.
Installer l'aperçu technique de VC++ Build Tools [Windows 7 uniquement] requiert .NET Framework 4.5.1
Installez Python 2.7 et ajoutez-le à votre PATH, jeu de configuration npm python python2.7
Lancez cmd, npm config set msvs_version 2015 --global (au lieu de npm install [nom du paquet] --msvs_version = 2015 à chaque fois.)
4.SO BEAUCOUP npm installer: tada:
La dernière fois que j'ai vu une erreur similaire, c'était parce que j'utilisais la mauvaise version de npm
et/ou node
pour l'une de mes dépendances. Essayez de les mettre à niveau et essayez à nouveau.
Avant de réessayer, supprimez votre répertoire node_modules
.
Vous devrez peut-être rechercher les versions de npm
et node
dont vos dépendances ont besoin. Vous pouvez essayer les dernières versions de toutes vos dépendances, noeud et npm.
Vérifiez quelles versions vos collègues utilisent.
Quel système d'exploitation utilisez-vous? Cela peut avoir un impact car la version de CLANG peut être différente.
Publiez ma solution ici si quelqu'un comme moi utilisant Windows 10 a toujours l'erreur après l'installation de nombreux outils de construction associés à Microsoft.
Tout ce dont vous avez besoin sont:
Windows 10 64 bits
python 2.7.x
J'ai déjà essayé Visual Studio 2015, mais cela n'a pas du tout fonctionné.
Tout d’abord, je désinstalle tous les outils de compilation associés à Microsoft. (Si vous n'avez rien installé pour essayer de résoudre ce problème auparavant, ignorez cette étape.)
Installez Visual Studio 2013.
Config npm comme @Sourav a déclaré:
Config python:
npm config set python /path/to/python2.7
Config msvs_version:
npm config set msvs_version 2013
Exécutez un npm install
ou la commande npm qui génère cette erreur. Ça marche pour moi!
BTW, cette solution est de ici .
Pour Windows 8 ou 10:
En supposant que le noeud et le npm sont déjà installés.
Mon noeud et la version de npm (Au moment de la rédaction de cette réponse):
noeud: 8.9.4
npm: 5.6.0
Première installation python 2.x
Assurez-vous qu'il est disponible sur le chemin
Après l'installation, lancez-le
Après l'installation, cela devrait fonctionner parfaitement.
Hé s'il vous plaît essayez d'installer les outils de construction de Windows (paquet global npm)
Cela résoudra votre problème :-) Vous devriez pouvoir utiliser votre commande npm install par la suite.
pour cela résolu (OS X):
rm -rf ~/.node_gyp and
Sudo npm install -g [email protected]
cd /usr/local/lib Sudo ln -s ../../lib/libSystem.B.dylib libgcc_s.10.5.dylib
brew install gcc
npm install