node.js - nodejs - update node js
Impossible d'installer les modules de noeud nécessitant une compilation sous Windows 7 x64/VS2012 (12)
Je ne peux pas installer les modules qui nécessitent une compilation. Tout ce qu'ils échouent avec l'erreur suivante:
MSBUILD : error MSB3411: Could not load the Visual C++ component "VCBuild.exe". ...
Mon environnement:
- Windows 7 Enterprise x64, version 6.1.7601
- noeud x86 0.8.16
- NPM 1.2.0
- node-gyp 0.8.2
- Visual Studio 2012 et de nombreux packages
Variables d'environnement connexes:
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShel l\v1.0;C:\Program Files\TortoiseGit\bin;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;c:\tools;c:\tools\node
Non INCLUDE, LIB, LIBPATH, etc.
J'ai fait une recherche rapide sur le problème et je suis arrivé à la conclusion que la compilation manuelle (appelant VCBuild.exe et msbuild.exe directement) réussit pour le git cloné manuellement: //github.com/einaros/ws.git:
SET Configuration=Release
SET PATH=%ProgramFiles(x86)%\Microsoft Visual Studio 9.0\VC\vcpackages
SET PATH=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\bin;%PATH%
SET PATH=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\Common7\IDE;%PATH%
SET PATH=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Bin;%PATH%
SET PATH=%SystemRoot%\system32;%PATH%
SET INCLUDE=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\include
SET INCLUDE=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Include;%INCLUDE%
SET LIB=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Lib
SET LIB=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\lib;%LIB%
SET MSBUILD="%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe"
VCBuild.exe C:\Tools\node\ws\build\bufferutil.vcproj "Release|Win32" /useenv
VCBuild.exe C:\Tools\node\ws\build\validation.vcproj "Release|Win32" /useenv
%MSBUILD% build/binding.sln /verbosity:diagnostic /nologo /p:Configuration=Release;Platform=Win32
J'ai essayé d'appeler node-gyp avec les mêmes variables et il a échoué:
C:\!> git clone https://github.com/einaros/ws.git
C:\!> cd ws
C:\!\ws>node-gyp configure
...
C:\!\ws>node-gyp build
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | win32 | ia32
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=Win32' ]
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
C:\Users\User\.node-gyp\0.8.16\deps\uv\include\uv.h(55): fatal error C1083: Cannot open include file: 'stdint.h': No such file or directory [C:\!\
ws\build\binding.sln]
C:\Users\User\.node-gyp\0.8.16\deps\uv\include\uv.h(55): fatal error C1083: Cannot open include file: 'stdint.h': No such file or directory [C:\!\
ws\build\binding.sln]
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:\Tools\node\node_modules\node-gyp\lib\build.js:255:23)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:99:17)
gyp ERR! stack at Process._handle.onexit (child_process.js:678:10)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "c:\\Tools\\node\\\\node.exe" "c:\\Tools\\node\\node_modules\\node-gyp\\bin\\node-gyp.js" "build"
gyp ERR! cwd C:\!\ws
gyp ERR! node -v v0.8.16
gyp ERR! node-gyp -v v0.8.2
gyp ERR! not ok
Peut-être que vous aurez quelques idées à ce sujet?
Merci.
- Installez Python 2.7 (pas 3.x)
- Ajoutez le chemin d'accès au répertoire contenant
vcbuild.exe
dans votre variable d'environnementPATH
- Si vous avez besoin de
vcbuild.exe
obtenez-le ici https://github.com/kin9puppy/vcbuildFixForNode
Après des JOURS de creuser, quelqu'un sur IRC a suggéré que j'essaie d'utiliser le
Windows 7.1 SDK Command Prompt
Raccourci (liens vers C: \ Windows \ System32 \ cmd.exe / E: ON / V: ON / T: 0E / K "C: \ Programmes \ Microsoft SDKs \ Windows \ v7.1 \ Bin \ SetEnv.cmd" ). Je pense que vous devez avoir l'ancien 7.1 SDK (même sur Windows 8.1) parce que les plus récents utilisent msbuild.exe au lieu de vcbuild.exe, ce que node-gyp veut bien qu'il soit deux fois plus vieux que le nœud à ce stade: /
Une fois dans cette invite, j'ai dû exécuter ce qui suit pour obtenir le contexte x86 parce que le compilateur lançait comme erreur sur l'architecture:
setenv.cmd /Release /x86
Puis j'ai réussi à exécuter des commandes npm qui essayaient d'utiliser node-gyp pour recompiler des choses.
Essayez cela - va le définir globalement:
npm config set msvs_version 2012 --global
J'ai aussi eu beaucoup de problèmes pour compiler nodejs zmq.
Pour le problème avec vcbuild.exe, il suffit de l'ajouter à la PATH
Pour d'autres problèmes, je pourrais compiler juste en utilisant Windows 7.1 SDK Command Prompt
(Menu Programmes -> Microsoft Windows SDK v7.1 -> Invite de commandes du Kit de développement Windows 7.1)
Et à partir de l'invite:
npm install zmq
Ça marche :)
J'ai eu le même problème en essayant d'installer un paquet pour Node.js. Après un peu de googeling, j'ai trouvé ce walktrough: https://github.com/TooTallNate/node-gyp/wiki/Visual-Studio-2010-Setup
Quand j'ai suivi ces étapes, je pouvais utiliser "npm install" sans aucun problème.
J'ai résolu ce problème sur Windows 8 et Windows 10 Pro avec ce tutoriel. J'essaye beaucoup de fois pour résoudre ce problème avec beaucoup de différentes solutions, mais seulement travaillé pour moi avec ceci: http://www.serverpals.com/blog/building-using-node-gyp-with-visual-studio-express-2015-on-windows-10-pro-x64 Je remarque que je n'ai pas utilisé nodist pour contrôler la version du noeud comme ce tutoriel, j'utilise NVM et a bien fonctionné, je ne teste pas ce tutoriel avec nodist. J'ai utilisé le noeud 5.2.0.
Merci à @felixrieseberg , vous avez juste besoin d'installer le paquet npm windows-build-tools et vous êtes prêt à partir.
npm install --global --production windows-build-tools
Vous n'aurez pas besoin d'installer Visual Studio.
Vous n'aurez pas besoin d'installer Microsoft Build Tools.
Du repo:
Après l'installation, npm exécutera automatiquement ce module, qui télécharge et installe Visual C ++ Build Tools 2015, fourni gratuitement par Microsoft. Ces outils sont requis pour compiler des modules natifs populaires. Il va également installer Python 2.7, en configurant votre machine et npm de manière appropriée.
Windows Vista / 7 requiert .NET Framework 4.5.1 (Actuellement non installé automatiquement par ce package)
Les deux installations sont sans conflit, ce qui signifie qu'elles ne plaisantent pas avec les installations existantes de Visual Studio, C ++ Build Tools ou Python.
Mise à jour v3: https://www.npmjs.com/package/windows-build-tools
Installation de npm --global windows-build-tools
télécharge et installe Visual C ++ Build Tools 2015, fourni gratuitement par Microsoft. Ces outils sont requis pour compiler des modules natifs populaires. Il va également installer Python 2.7, en configurant votre machine et npm de manière appropriée.
Mettre à jour v2:
node-gyp a mis à jour son readme pour inclure HOW-TO pour Windows
Original:
Pas besoin de tout le studio visuel, vous pouvez télécharger seulement les outils de construction
Microsoft Build Tools 2013: http://www.microsoft.com/en-us/download/details.aspx?id=40760
Exécutez cmd pour définir un indicateur global pour utiliser la version 2013:
npm config set msvs_version 2013 --global
après cela, tout devrait revenir à la normale et votre installation npm / node-gyp rebuild fonctionnera
Pour le faire sans l'installation VS2010, et seulement en 2012, définissez l'indicateur msvs_version:
node-gyp rebuild --msvs_version=2012
npm install <module> --msvs_version=2012
selon le commentaire de @Jacob
npm install --msvs_version=2013
si vous avez la version 2013
Sur Windows Cela m'a aidé: (crédits va à) https://github.com/TooTallNate/node-gyp/wiki/Updating-npm%27s-bundled-node-gyp J'ai essayé MINGW32, mais sans succès.
sur cmd.exe
$ cd "C:\Program Files\nodejs\node_modules\npm"
$ npm install -g [email protected]
il suffit d'ajouter --msvs_version = 2012
node-gyp rebuild --msvs_version=2012
ou
node-gyp configure --msvs_version=2012
node-gyp build
sur Windows 8, cela a fonctionné pour moi en utilisant:
npm install -g node-gyp -msvs_version=2012
puis
npm install -g restify