My attempts to use node-gyp on a Windows 7 + Node.js platform have failed [3] when attempting to compile the standard "Hello World" example [2]. Note: node-gyp is failing in a similar manner [3] when attempting npm install contextify
w or w/o the "-g", thus these could be related issues.
Configuration:
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] "node-gyp rebuild" on "hello world"[2] project produces following 2 errors:
....node-gyp\0.10.24\deps\uv\include\win.h(8738): error C2371: 'SYSTEM_POWER_STATUS' : redefinition; different basic types [...\build\test.vcxproj]
....node-gyp\0.10.24\deps\uv\include\mswsock.h(27): fatal error C 1083: Cannot open include file: '_mingw.h': No such file or directory [...\build\test.vcxproj]
and following 2 warnings:
....node-gyp\0.10.24\deps\uv\include\win.h(13513): warning C4005: 'UNALIGNED' : macro redefinition [...\build\test.vcxproj]
....node-gyp\0.10.24\deps\uv\include\mswsock.h(26): warning C4068 : unknown pragma [...\build\test.vcxproj]
The full trace follows:
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
Normally old operating system needs an old version of Node. JS. you can refer to old version of Node. JS here, you can also download this one, which is tested and working fine with Win7( win7 Ultimate v6.
It installs v13. 14.0 LTS. It seems that v13. 14.0 LTS is the last installer that works on Window 7.
node-gyp requires that you have installed a compatible version of Python, one of: v3. 7, v3. 8, v3. 9, or v3.
It works without Visual Studio, but you'll need to install Windows SDK: Get Windows SDK from https://www.microsoft.com/en-us/download/details.aspx?id=8442.
Although this question is one month old, i ended up searching across the web and this was part of search results.
So here is a not-should-do-but-it-works answer.
First, i'm not familiar with node-gyp
or the whole visual studio compile and stuff, i really really feel sorry for node-gyp depending on python (a really silent WTF )
So for no known reason nodejs version older than 0.10.22 (i'm running that now so i assume there it where it starts)
If you search your system for the file "uv.h" you might get some results IF you have previously installed nodejs versions, otherwise you could keep reading.
my previous 0.10.3 nodejs version had uv.h
into node-gyp some like
<DRIVERLETTER>:\Users\<USERNAME>\.node-gyp\0.10.3\deps\uv
so if you read the npm documentation you will find the the argument on npm install
The --nodedir=/path/to/node/source argument will allow npm to find the node source code so that npm can compile native modules.
so the final command should be
npm install <package> --nodedir="<DRIVERLETTER>:\Users\<USERNAME\.node-gyp\0.10.3"
you might get some warnings but it should complete with success.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With