Je ne peux installer aucun des 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 Entreprise x64, version 6.1.7601
- nœud x86 0.8.16
- npm 1.2.0
- node-gyp 0.8.2
- Visual Studio 2012 et de nombreux packages
Variables d'environnement associées:
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 brève enquête sur le problème et j'ai découvert qu'avec la configuration suivante, la compilation manuelle (appelant directement VCBuild.exe et msbuild.exe) 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 cela 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 node-gyp@0.8.2
gyp info using node@0.8.16 | 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
Vous en aurez peut-être des idées?
Merci.
node.js
visual-studio-2012
node-gyp
Alex Netkachov
la source
la source
vcvarsall.bat
au lieu d'essayer de configurer votre environnement manuellement?Réponses:
Essayez cela - le définira globalement:
la source
error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found.
Pour ce faire sans l'installation de VS2010 et uniquement 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 2013la source
npm install
commande l'a fait fonctionner pour moi. Un tiret a fonctionné pour moi aussi.Mise à jour v3: https://www.npmjs.com/package/windows-build-tools
npm install - global windows-build-tools
Mise à jour v2:
node-gyp a mis à jour son fichier readme pour inclure HOW-TO pour Windows
Original:
Pas besoin de tout le studio visuel, vous pouvez télécharger uniquement 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 l'indicateur global pour utiliser la version 2013:
npm config set msvs_version 2013 --global
après cela, tout devrait être revenu à la normale et votre reconstruction npm install / node-gyp fonctionnera
la source
npm config set msvs_version 2015 --global
qui fonctionne égalementnpm config set msvs_version 2015 --global
travaux en cours d' exécutionajoutez simplement --msvs_version = 2012
ou
la source
J'ai eu le même problème en essayant d'installer un package pour Node.js. Après quelques recherches approfondies sur Google, j'ai trouvé cette procédure: https://github.com/TooTallNate/node-gyp/wiki/Visual-Studio-2010-Setup
Après avoir suivi ces étapes, je pouvais utiliser "npm install" sans aucun problème.
la source
Grâce à @felixrieseberg , il vous suffit d'installer le package npm windows-build-tools et vous êtes prêt à partir.
Vous n'aurez pas besoin d'installer Visual Studio.
Vous n'aurez pas besoin d'installer Microsoft Build Tools.
Depuis le repo:
la source
sur Windows 8, cela a fonctionné pour moi en utilisant:
puis
la source
Après des JOURS de fouille, quelqu'un sur IRC m'a suggéré d'essayer d'utiliser le
Raccourci (liens vers C: \ Windows \ System32 \ cmd.exe / E: ON / V: ON / T: 0E / K "C: \ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Bin \ SetEnv.cmd" ). Je pense que vous DEVEZ avoir l'ancien SDK 7.1 (même sur Windows 8.1) car les plus récents utilisent msbuild.exe au lieu de vcbuild.exe, ce que node-gyp veut même s'il est deux fois plus vieux que node à ce stade: /
Une fois dans cette invite, j'ai dû exécuter ce qui suit pour obtenir le contexte x86 car le compilateur lançait une erreur sinon sur l'architecture:
ALORS, j'ai pu exécuter avec succès les commandes npm qui essayaient d'utiliser node-gyp pour recompiler les choses.
la source
J'ai eu la même idée et j'ai fait toute la magie ci-dessus, la seule chose qui a fait la magie pour moi est de https://github.com/atom/atom/issues/2435
"Parce que --msvs_version = 2013 n'est pas passé à node-gyp lorsqu'il est exécuté par le script de construction. Définissez la variable d'environnement GYP_MSVS_VERSION = 2013 et cela devrait fonctionner après."
Coup! ça a marché
la source
Sous Windows, cela m'a aidé: (les crédits vont à) https://github.com/TooTallNate/node-gyp/wiki/Updating-npm%27s-bundled-node-gyp J'ai essayé MINGW32, mais sans succès.
sur
cmd.exe
la source
Pour Windows 8 64 bits, en installant zmq et protobuf, les éléments suivants ont fonctionné pour moi: Installez Visual Studio 2012 sur la ligne de commande:
la source
Je pense que la solution est de télécharger installer Microsoft Windows sdk pour le serveur 2008 avec .net framework 3.5
ou installez simplement Visual studio 2008 .
Le problème est que Windows builds node-gyp exécute le fichier vcbuid.exe, et pour une raison quelconque, il ne peut pas le trouver.
Merci
la source
vcbuild.exe
votre variable d'environnementPATH
vcbuild.exe
obtenir ici https://github.com/kin9puppy/vcbuildFixForNodela source
J'ai également eu beaucoup de problèmes pour compiler nodejs zmq.
Pour le problème avec vcbuild.exe, ajoutez-le simplement au PATH
Pour d'autres problèmes, je pourrais compiler simplement en utilisant
Windows 7.1 SDK Command Prompt
(Programmes de menu -> Microsoft Windows SDK v7.1 -> Invite de commandes du SDK Windows 7.1)
Et à partir de l'invite:
npm install zmq
Cela fonctionne :)
la source
Après une longue lutte, j'ai basculé mon architecture de nœuds vers x86 et cela a fonctionné à merveille.
la source
dans cmd, définissez le chemin de Visual Studio en fonction de votre version comme
Dans node-master (module de nœud d'origine téléchargé depuis git), exécutez vcbuild.bat avec les privilèges d'administrateur. vcbild.bat générera des dépendances liées à Windows et ajoutera le nom du dossier Release dans node-master
Une fois lancé, la création des fichiers prendra du temps.
Ensuite, dans le répertoire contenant le fichier .gyp, utilisez la commande
cela construira toutes les dépendances.
la source
J'ai résolu ce problème sur Windows 8 et Windows 10 Pro avec ce tutoriel. J'essaye beaucoup de fois de résoudre ce problème avec de nombreuses solutions différentes, mais je n'ai travaillé que 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 nœud comme ce tutoriel, j'utilise NVM et j'ai bien fonctionné, je ne teste pas ce tutoriel avec nodist. J'ai utilisé le nœud 5.2.0.
la source