Nie mogę zainstalować żadnego z modułów wymagających kompilacji. Wszystkie zawodzą z następującym błędem:
MSBUILD : error MSB3411: Could not load the Visual C++ component "VCBuild.exe". ...
Moje środowisko:
- Windows 7 Enterprise x64, wersja 6.1.7601
- węzeł x86 0.8.16
- npm 1.2.0
- węzeł-gyp 0.8.2
- Visual Studio 2012 i liczne pakiety
Powiązane zmienne środowiskowe:
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
Brak ZAWIERA, LIB, LIBPATH itp.
Zrobiłem krótkie badanie tego problemu i stwierdziłem, że przy poniższej konfiguracji ręczna kompilacja (wywoływanie bezpośrednio VCBuild.exe i msbuild.exe) zakończyła się powodzeniem dla ręcznie sklonowanego git: //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
Próbowałem wywołać węzeł-gyp z tymi samymi zmiennymi i nie udało się:
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
Może masz jakieś pomysły na ten temat?
Dzięki.
node.js
visual-studio-2012
node-gyp
Alex Netkachov
źródło
źródło
vcvarsall.bat
zamiast ręcznie konfigurować środowisko?Odpowiedzi:
Spróbuj - ustawi to globalnie:
źródło
error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found.
Aby to zrobić bez instalacji VS2010 i tylko w 2012 r., Ustaw flagę msvs_version:
node-gyp rebuild --msvs_version=2012
npm install <module> --msvs_version=2012
zgodnie z komentarzem @Jacob
npm install --msvs_version=2013
jeśli masz wersję 2013źródło
npm install
polecenie dostał pracę dla mnie. Jedna kreska również działała dla mnie.Aktualizacja v3: https://www.npmjs.com/package/windows-build-tools
instalacja npm --global windows-build-tools
Aktualizacja v2:
node-gyp zaktualizował swój plik Readme, aby zawierał instrukcje dla systemu Windows
Oryginalny:
Nie potrzebujesz całego studia wizualnego, możesz pobrać tylko narzędzia do kompilacji
Microsoft Build Tools 2013: http://www.microsoft.com/en-us/download/details.aspx?id=40760
uruchom cmd, aby ustawić flagę globalną do używania wersji 2013:
npm config set msvs_version 2013 --global
po tym wszystko powinno wrócić do normy i przebudowa npm install / node-gyp będzie działać
źródło
npm config set msvs_version 2015 --global
które również działanpm config set msvs_version 2015 --global
działawystarczy dodać --msvs_version = 2012
lub
źródło
Miałem ten sam problem podczas próby zainstalowania pakietu dla Node.js. Po obszernym wyszukiwaniu w Google znalazłem ten test: https://github.com/TooTallNate/node-gyp/wiki/Visual-Studio-2010-Setup
Gdy wykonałem te kroki, mogłem bez problemu użyć „instalacji npm”.
źródło
Dzięki @felixrieseberg wystarczy zainstalować pakiet npm dla Windows-build-tools i możesz zacząć.
Nie musisz instalować programu Visual Studio.
Nie musisz instalować Narzędzi do kompilacji Microsoft.
Z repozytorium:
źródło
w systemie Windows 8 działało dla mnie przy użyciu:
następnie
źródło
Po DNIACH kopania ktoś na IRC zasugerował, żebym spróbował użyć
Skrót (linki do C: \ Windows \ System32 \ cmd.exe / E: ON / V: ON / T: 0E / K "C: \ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Bin \ SetEnv.cmd" ). Myślę, że MUSISZ mieć starszy zestaw SDK 7.1 (nawet w systemie Windows 8.1), ponieważ nowsze używają msbuild.exe zamiast vcbuild.exe, czego chce węzeł-gyp, mimo że w tym momencie jest dwa razy starszy niż węzeł: /
Raz w tym pytaniu musiałem uruchomić następujące polecenie, aby uzyskać kontekst x86, ponieważ kompilator generował błąd jako błąd w stosunku do architektury:
Następnie udało mi się z powodzeniem uruchomić polecenia npm, które próbowały użyć węzła gyp do ponownej kompilacji.
źródło
Miałem tę samą sprawę i wykonałem całą magię powyżej, jedyną rzeczą, która zrobiła dla mnie magię, jest https://github.com/atom/atom/issues/2435
„Ponieważ opcja --msvs_version = 2013 nie jest przekazywana do węzła-gyp, gdy jest uruchamiana przez skrypt kompilacji. Ustaw zmienną env GYP_MSVS_VERSION = 2013 i powinna ona działać później.”
Huk! zadziałało
źródło
W systemie Windows Pomogło mi to: (kredyty idą do) https://github.com/TooTallNate/node-gyp/wiki/Updating-npm%27s-bundled-node-gyp Próbowałem MINGW32, ale bez powodzenia.
na
cmd.exe
źródło
W przypadku 64-bitowego systemu Windows 8, instalującego zmq i protobuf, działało dla mnie: Instaluj Visual Studio 2012 W wierszu poleceń:
źródło
Myślę, że rozwiązaniem jest pobranie instalacji Microsoft Windows SDK na serwer 2008 z .NET Framework 3.5
lub po prostu zainstaluj Visual Studio 2008 .
Problem polega na tym, że Windows buduje node-gyp wykonuje plik vcbuid.exe i z jakiegoś powodu nie może go znaleźć.
Dzięki
źródło
vcbuild.exe
zmienną środowiskowąPATH
vcbuild.exe
pobierz go tutaj https://github.com/kin9puppy/vcbuildFixForNodeźródło
Miałem też dużo problemów z kompilacją zmod Nodejsa.
Aby rozwiązać problem z vcbuild.exe, po prostu dodaj go do ŚCIEŻKI
W przypadku innych problemów mogłem skompilować tylko za pomocą
Windows 7.1 SDK Command Prompt
(Programy menu -> Microsoft Windows SDK v7.1 -> Wiersz polecenia zestawu Windows 7.1 SDK)
I od pytania:
npm install zmq
To działa :)
źródło
Po długiej walce zmieniłem architekturę mojego węzła na x86 i działało to jak urok.
źródło
w cmd ustaw ścieżkę Visual Studio w zależności od twojej wersji jako
W node-master (oryginalny moduł węzła pobrany z git) uruchom vcbuild.bat z uprawnieniami administratora. vcbild.bat wygeneruje zależności związane z oknami i doda nazwę folderu Release w węźle głównym
Po uruchomieniu kompilacja plików potrwa.
Następnie w katalogu z poleceniem użycia pliku .gyp
to zbuduje wszystkie zależności.
źródło
Ten samouczek rozwiązałem ten problem w systemie Windows 8 i Windows 10 pro. Wiele razy próbuję rozwiązać ten problem za pomocą wielu różnych rozwiązań, ale z tym działałem tylko : http://www.serverpals.com/blog/building-using-node-gyp-with-visual-studio-express -2015-on-windows-10-pro-x64 Zauważyłem, że nie używałem nodist do kontrolowania wersji węzła jak ten samouczek, używam NVM i działałem dobrze, nie testuję tego samouczka z nodist. Użyłem węzła 5.2.0.
źródło