Voici ce que j'ai fait jusqu'à présent sur mon système d'exploitation x64:
Node-gyp configure exécuté avec succès (à partir de mon répertoire complémentaire sous nodejs\node_modules où se trouve binding.gyp)
ran node-gyp build (en tant qu'administrateur) ** C'est ce qui s'est bloqué, me laissant avec:
cette erreur:
C:\Program Files\nodejs\node_modules\msnodesql>node-gyp build
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | win32 | x64
gyp info spawn C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
gyp info spawn args [ 'build/binding.sln',
gyp info spawn args '/clp:Verbosity=minimal',
gyp info spawn args '/nologo',
gyp info spawn args '/p:Configuration=Release;Platform=x64' ]
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
LINK: erreur fatale LNK1181: impossible d'ouvrir le fichier d'entrée 'kernel32.lib' [C:\Program Files\nodejs\node_modules\msnodesql\build\sqlserver.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe` failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Users\RNelson\AppData\Roaming\npm\node_modules\node-gyp\lib\build.js:267:23)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:797:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C:\\Users\\RNelson\\AppData\\Roaming\\npm\\node_modules\\node- gyp\\bin\\node-gyp.js" "build"
gyp ERR! cwd C:\Program Files\nodejs\node_modules\msnodesql
gyp ERR! node -v v0.10.25
gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok
Des idées sur ce qui se passe? Merci d'avance! J'essaie juste d'utiliser mon pilote noeud-sqlserver MS pour Node.js
npm config set msvs_version 2013 --global
a fonctionné pour moi car j'utilise les outils de noeud VS et vous n'avez pas besoin de spécifier msvs_version chaque fois que vous effectuez une installation npm.
J'ai eu un problème en raison duquel la configuration de npm (c:\Utilisateurs\nom d'utilisateur\.npmrc) avait une entrée msvs_version = 2012 qui était obsolète.
J'avais un problème similaire. J'ai trouvé que cet interrupteur m'a aidé
--msvs_version=2012
donc par exemple
npm install --msvs_version=2012 <package>
Après avoir passé un certain temps à faire en sorte que cela fonctionne (pour moi, la réponse acceptée ne fonctionnait pas, pour moi, c'était juste une solution à moitié solution), j'ai suivi:
Malheureusement, vous devez avoir Visual Studio (j'ai installé Express Edition 2013 Pour DESKTOP).
Python 2.7.3 installé (vous n'avez pas besoin de définir d'environnement Variables)
Exécutez cmd en tant qu'administrateur et accédez à la racine de votre projet (où se trouve votre fichier Package.json)
Première exécution: npm config set python C:\Python27\python.exe
Alors: npm install -msvs_version=2013
Le truc est dans la commande npm config set python ...path_to_python_exe...
qui sera fournie par npm à la dépendance qui a besoin de python, je suppose. Je ne sais pas pourquoi la définition de python comme variable env ne suffit pas.
Si tout ce qui précède n'a pas fonctionné (mon cas - Windows10 64bit)
Supprimer C:\Utilisateurs\nom_utilisateur\.node-gyp
Supprimer % AppData%/npm
Supprimer % AppData%/npm-cache
Et installez à nouveau node-gyp
Suivre les instructions sur node-gyp page
J'ai choisi l'option 1 npm install --global --production windows-build-tools
Pour installer node-gyp sous Windows ou tout autre système d'exploitation
Vous devrez d’abord télécharger le noeud-gyp en
$ npm install -g node-gyp-install
Puis installez par
$ npm install -g node-gyp
vous devrez peut-être suivre la procédure ci-dessus en tant que root/administrartor.
En 2015, lors de la tentative d’installation de Keystone, j’ai eu la même erreur en parcourant tout ce que vous m’avez dit, mais cela ne fonctionnait pas tout seul. À la fin, il me suffisait d'exécuter la commande
"C:\Program Files\Microsoft SDKs\Windows\v7.1\bin\SetEnv.CMD" /Release /x64
pour configurer l'environnement avant d'exécuter la commande. (Ne paniquez pas lorsque le texte de votre fenêtre devient vert, cela fonctionne). Alors oui, je voudrais faire les installations et configurer les variables d’environnement de la même manière partout sur Internet, mais assurez-vous d’exécuter la commande ci-dessus avant d’exécuter toute autre commande. Cela ne vous sera probablement pas utile, mais espérons que cela sera utile à quelqu'un d'autre. Si cela ne fonctionne toujours pas, MSVS version 2010 fonctionnait pour moi, donc installez cette version et utilisez l'indicateur -msvs_version = 2010 lors de l'exécution de la commande npm.
J'ai rencontré ce problème moi-même et voici comment je l'ai résolu avec Visual Studio 2010:
Installer les paquets suivants
Utilisez npm install
à partir de l'invite de commande du SDK Windows (vous en avez besoin car elle définit des variables d'environnement supplémentaires).
Source: instructions node-gyp pour VS2010
Pour moi (Windows 7 64bit),
J'ai eu du mal à résoudre ce problème pendant une demi-journée.
Sur mon chemin :
Au panneau de configuration, j'ai supprimé tous les logiciels Python, Microsoft Visual Studio, Microsoft Redistributable et quelque chose que j'avais installé pour résoudre ce problème.
Mise à jour de la fenêtre et redémarrez.
Installé Python27 , et Visual Studio 2013sans paramètre env-val
npm install node-gyp -g
npm config set msvs_version 2013 --global
, ça marche. Pour moi, la solution qui fonctionnait avec VS express consistait simplement à installer Visual Studio 2013 Express pour le bureau (qui est le seul qui vous donne une invite de commande de développeur à partir de la version 2013). Ouvrez la commande developer Invite (élevée) et exécutez les commandes d'installation de NPM. Cela ne nécessitait pas d'arguments --msvs_version
spéciaux, cela fonctionnait simplement.
il y a un paquet facile à utiliser windows build tools global node. Vous pouvez essayer ceci.