Jak uzyskać działanie węzła-gyp na platformie Windows 7

Moje próby użycia węzła gyp na platformie Windows 7 + Node.js nie powiodły się [3] przy próbie skompilowania standardowego przykładu „Hello World” [2]. Uwaga: węzeł-gyp zawodzi w podobny sposób [3] podczas próbynpm install contextify w lub bez „-g”, więc mogą to być problemy powiązane.

Konfiguracja:

węzeł-gyp 0.12.2Windows 7 x64 SP1Python 2.7Node.js 0.10.24Visual Studio 2010 na [1] (próbowałem również 2012)VS SDK 7,1 na [1] (wypróbowane wersje 32 i 64 bitowe)uruchomienie gyp-węzła ze standardowego wiersza polecenia Windows lub polecenia cmd SDK7.1

Refs:
[1]https://github.com/TooTallNate/node-gyp/wiki/Visual-Studio-2010-Setup

[2]https://github.com/joyent/node/tree/master/test/addons/hello-world

[3] „odbudowa węzła-gyp” w projekcie „Witaj świecie” [2] powoduje powstanie następujących 2 błędów:

.... node-gyp 0.10.24 dep uv include h.h (8738): błąd C2371: 'SYSTEM_POWER_STATUS': redefinicja; różne podstawowe typy [... build.vcxproj]

.... node-gyp 0.10.24 dep v uv mswsock.h (27): błąd krytyczny C 1083: Nie można otworzyć pliku include: '_mingw.h': Brak takiego pliku lub katalogu [... build.vcxproj]

i następujące 2 ostrzeżenia:

.... node-gyp 0.10.24 depi uv zawiera h.h (13513): ostrzeżenie C4005: 'UNALIGNED': redefinicja makra [... kompilacja.vcxproj]

.... node-gyp 0.10.24 dep vv dołącz mswsock.h (26): ostrzeżenie C4068: nieznana pragma [... kompilacja.vcxproj]

Pełny ślad jest następujący:

C:\sigma\node_modules\x>node-gyp rebuild
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | win32 | x64
gyp info spawn python
gyp info spawn args [ 'C:\\Users\\Anybody\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\gyp\\gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'msvs',
gyp info spawn args   '-G',
gyp info spawn args   'msvs_version=auto',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\sigma\\node_modules\\x\\build\\config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\Anybody\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\Anybody\\.node-gyp\\0.10.24\\common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=C:\\Users\\Anybody\\.node-gyp\\0.10.24',
gyp info spawn args   '-Dmodule_root_dir=C:\\sigma\\node_modules\\x',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--generator-output',
gyp info spawn args   'C:\\sigma\\node_modules\\x\\build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp info spawn msbuild
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.  test.cpp
C:\Users\Anybody\.node-gyp\0.10.24\deps\uv\include\win.h(8738): error C2371: 'SYSTEM_POWER_STATUS' : redefinition; different basic types [C:\sigma\node_modules\x\build\test.vcxproj]  C:\Users\Anybody\.node-gyp\0.10.24\deps\uv\include\win.h(8737) : see declaration of 'SYSTEM_POWER_STATUS'

C:\Users\Anybody\.node-gyp\0.10.24\deps\uv\include\win.h(13513): warning C4005: 'UNALIGNED' : macro redefinition [C:\sigma\node_modules\x\build\test.vcxproj] C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdef s.h(502) : see previous definition of 'UNALIGNED'

C:\Users\Anybody\.node-gyp\0.10.24\deps\uv\include\mswsock.h(26): warning C4068 : unknown pragma [C:\sigma\node_modules\x\build\test.vcxproj] C:\Users\Anybody\.node-gyp\0.10.24\deps\uv\include\_mingw.h(33): warning C4068: unknown pragma [C:\sigma\node_modules\x\build\test.vcxproj]

C:\Users\Anybody\.node-gyp\0.10.24\deps\uv\include\_mingw.h(51): fatal error C1 189: #error :  ERROR: You must use a GNU Compiler. [C:\sigma\node_modules\x\build\test.vcxproj]

gyp ERR! build error
gyp ERR! stack Error: msbuild failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Users\Anybody\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:789:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C:\\Users\\Anybody\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\sigma\node_modules\x
gyp ERR! node -v v0.10.24
gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok   

questionAnswers(3)

yourAnswerToTheQuestion