Ich kann keines der Module installieren, die kompiliert werden müssen. Sie scheitern alle mit folgendem Fehler:
MSBUILD : error MSB3411: Could not load the Visual C++ component "VCBuild.exe". ...
Meine Umgebung:
- Windows 7 Enterprise x64, Version 6.1.7601
- Knoten x86 0.8.16
- npm 1.2.0
- Node-Gyp 0.8.2
- Visual Studio 2012 und zahlreiche Pakete
Verwandte Umgebungsvariablen:
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
Kein INCLUDE, LIB, LIBPATH usw.
Ich habe das Problem kurz untersucht und festgestellt, dass mit dem folgenden Setup die manuelle Kompilierung (direkter Aufruf von VCBuild.exe und msbuild.exe) für das manuell geklonte Git erfolgreich ist: //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
Ich habe versucht, Node-Gyp mit denselben Variablen aufzurufen, aber es ist fehlgeschlagen:
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
Vielleicht haben Sie einige Ideen dazu?
Vielen Dank.
node.js
visual-studio-2012
node-gyp
Alex Netkachov
quelle
quelle
vcvarsall.bat
anstatt zu versuchen, Ihre Umgebung manuell einzurichten?Antworten:
Versuchen Sie das - wird es global einstellen:
quelle
error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found.
Um dies ohne VS2010-Installation und nur für 2012 zu tun, setzen Sie das Flag msvs_version:
node-gyp rebuild --msvs_version=2012
npm install <module> --msvs_version=2012
gemäß @Jacob Kommentar
npm install --msvs_version=2013
wenn Sie die Version 2013 habenquelle
npm install
Befehl hat es für mich zum Laufen gebracht. Ein Schuss funktionierte auch für mich.Update v3: https://www.npmjs.com/package/windows-build-tools
npm install --globale Windows-Build-Tools
Update v2:
node-gyp hat ihre Readme-Datei so aktualisiert, dass sie HOW-TO für Windows enthält
Original:
Sie benötigen nicht das gesamte Visual Studio, sondern können nur die Build-Tools herunterladen
Microsoft Build Tools 2013: http://www.microsoft.com/en-us/download/details.aspx?id=40760
Führen Sie cmd aus, um das globale Flag für die Verwendung der Version 2013 zu setzen:
npm config set msvs_version 2013 --global
Danach sollte alles wieder normal sein und Ihre npm-Installation / Node-Gyp-Neuerstellung wird funktionieren
quelle
npm config set msvs_version 2015 --global
der auch funktioniertnpm config set msvs_version 2015 --global
funktioniert die Installation von Microsoft Build Tools 2015 und das Ausführenfüge einfach --msvs_version = 2012 hinzu
oder
quelle
Ich hatte das gleiche Problem beim Versuch, ein Paket für Node.js zu installieren. Nach ausgiebigem googeln habe ich diesen Walktrough gefunden: https://github.com/TooTallNate/node-gyp/wiki/Visual-Studio-2010-Setup
Wenn ich diese Schritte ausgeführt hatte, konnte ich "npm install" ohne Probleme verwenden.
quelle
Dank @felixrieseberg müssen Sie nur das npm-Paket für Windows-Build-Tools installieren , und schon kann es losgehen.
Sie müssen Visual Studio nicht installieren.
Sie müssen Microsoft Build Tools nicht installieren.
Aus dem Repo:
quelle
Unter Windows 8 funktionierte es für mich mit:
dann
quelle
Nach den Tagen des Grabens schlug jemand im IRC vor, dass ich versuchen sollte, das zu verwenden
Verknüpfung (Links zu C: \ Windows \ System32 \ cmd.exe / E: ON / V: ON / T: 0E / K "C: \ Programme \ Microsoft SDKs \ Windows \ v7.1 \ Bin \ SetEnv.cmd" ). Ich denke, Sie MÜSSEN das ältere 7.1 SDK (sogar unter Windows 8.1) haben, da die neueren msbuild.exe anstelle von vcbuild.exe verwenden, was node-gyp will, obwohl es zu diesem Zeitpunkt doppelt so alt ist wie node: /
Einmal in dieser Eingabeaufforderung musste ich Folgendes ausführen, um den x86-Kontext zu erhalten, da der Compiler ansonsten einen Fehler bezüglich der Architektur auslöste:
DANN konnte ich erfolgreich npm-Befehle ausführen, die versuchten, Node-Gyp zum Neukompilieren von Dingen zu verwenden.
quelle
Ich hatte den gleichen Isuee und habe die ganze Magie oben gemacht. Das einzige, was die Magie für mich gemacht hat, ist von https://github.com/atom/atom/issues/2435
"Weil die --msvs_version = 2013 nicht an Node-Gyp übergeben wird, wenn sie vom Build-Skript ausgeführt wird. Setzen Sie die env-Variable GYP_MSVS_VERSION = 2013 und sie sollte danach funktionieren."
Knall! es funktionierte
quelle
Unter Windows Dies hat mir geholfen: (Credits gehen an) https://github.com/TooTallNate/node-gyp/wiki/Updating-npm%27s-bundled-node-gyp Ich habe MINGW32 ausprobiert, aber ohne Erfolg.
auf
cmd.exe
quelle
Für Windows 8 64-Bit, Installation von zmq und protobuf, funktionierte Folgendes für mich: Installieren von Visual Studio 2012 In der Befehlszeile:
quelle
Ich denke, die Lösung besteht darin, Microsoft Windows SDK für Server 2008 mit .net Framework 3.5 herunterzuladen
oder installieren Sie einfach Visual Studio 2008 .
Das Problem ist, dass Windows Builds Node-Gyp die Datei vcbuid.exe ausführt und sie aus irgendeinem Grund nicht finden kann.
Vielen Dank
quelle
vcbuild.exe
Ihre Umgebungsvariable enthältPATH
vcbuild.exe
holen Sie es sich hier https://github.com/kin9puppy/vcbuildFixForNodequelle
Ich hatte auch viele Probleme beim Kompilieren von nodejs zmq.
Fügen Sie das Problem mit vcbuild.exe einfach dem Pfad hinzu
Für andere Probleme könnte ich nur mit kompilieren
Windows 7.1 SDK Command Prompt
(Menüprogramme -> Microsoft Windows SDK v7.1 -> Windows 7.1 SDK-Eingabeaufforderung)
Und von der Eingabeaufforderung:
npm install zmq
Das funktioniert :)
quelle
Nach einem langen Kampf habe ich meine Knotenarchitektur auf x86 umgestellt und es hat wie ein Zauber funktioniert.
quelle
In cmd setzen Sie den Visual Studio-Pfad abhängig von Ihrer Version als
Führen Sie in node-master (ursprüngliches Knotenmodul, das von git heruntergeladen wurde) vcbuild.bat mit Administratorrechten aus. vcbild.bat generiert Windows-bezogene Abhängigkeiten und fügt den Ordnernamen Release in Node-Master hinzu
Sobald es ausgeführt wird, dauert es einige Zeit, um die Dateien zu erstellen.
Verwenden Sie dann in dem Verzeichnis mit der .gyp-Datei den Befehl
Dadurch werden alle Abhängigkeiten erstellt.
quelle
Ich habe dieses Problem unter Windows 8 und Windows 10 Pro mit diesem Tutorial gelöst. Ich versuche oft, dieses Problem mit vielen verschiedenen Lösungen zu lösen, habe aber nur damit gearbeitet: http://www.serverpals.com/blog/building-using-node-gyp-with-visual-studio-express -2015-on-windows-10-pro-x64 Ich stelle fest, dass ich Nodist nicht zur Steuerung der Knotenversion wie in diesem Tutorial verwendet habe. Ich verwende NVM und habe gut funktioniert. Ich teste dieses Tutorial nicht mit Nodist. Ich habe Knoten 5.2.0 verwendet.
quelle