x64 winhlp32 plataforma para microsoft kb917607 kb2670838 descargar actualizaciones windows visual-studio-2010 node.js node-gyp contextify

winhlp32 - ¿Cómo hago para que node-gyp funcione en la plataforma de Windows 7?



windows 7 y windows server 2008 r2 service pack 2 (3)

Mis intentos de usar node-gyp en una plataforma Windows 7 + Node.js han fallado [3] al intentar compilar el ejemplo estándar "Hello World" [2]. Nota: node-gyp está fallando de manera similar [3] al intentar npm install contextify w o w / o la "-g", por lo tanto estos podrían ser problemas relacionados.

Configuración:

  • node-gyp 0.12.2
  • Windows 7 x64 SP1
  • Python 2.7
  • Node.js 0.10.24
  • Visual Studio 2010 por [1] (también intentado en 2012)
  • VS SDK 7.1 por [1] (versiones probadas de 32 y 64 bits)
  • ejecutar node-gyp desde el símbolo del sistema estándar de Windows o el símbolo del sistema del SDK7.1 cmd

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" en el proyecto "hello world" [2] produce los siguientes 2 errores:

.... node-gyp / 0.10.24 / deps / uv / include / win.h (8738): error C2371: ''SYSTEM_POWER_STATUS'': redefinición; diferentes tipos básicos [... / build / test.vcxproj]

.... node-gyp / 0.10.24 / deps / uv / include / mswsock.h (27): error fatal C 1083: No se puede abrir el archivo include: ''_mingw.h'': No existe ningún archivo o directorio [... / build / test.vcxproj]

y siguiendo 2 advertencias:

.... node-gyp / 0.10.24 / deps / uv / include / win.h (13513): advertencia C4005: ''UNALIGNED'': redefinición de macros [... / build / test.vcxproj]

.... node-gyp / 0.10.24 / deps / uv / include / mswsock.h (26): advertencia C4068: pragma desconocido [... / build / test.vcxproj]

El rastro completo sigue:

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


Aunque esta pregunta tiene un mes, terminé buscando en la web y esto formaba parte de los resultados de búsqueda.

Así que aquí hay una respuesta que no debe hacer pero funciona.

Primero, no estoy familiarizado con node-gyp o toda la compilación del estudio visual y esas cosas, realmente siento pena por node-gyp dependiendo de python (una WTF realmente silenciosa)

Entonces, por ninguna razón conocida, la versión de nodejs es anterior a 0.10.22 (estoy ejecutando eso ahora, así que supongo que ahí empieza)

Si busca en su sistema el archivo "uv.h", es posible que obtenga algunos resultados SI ha instalado previamente las versiones de nodejs, de lo contrario, podría seguir leyendo.

mi versión anterior de nodejs 0.10.3 tenía uv.h en node-gyp como algunos

<DRIVERLETTER>:/Users/<USERNAME>/.node-gyp/0.10.3/deps/uv

así que si lees la documentación de npm encontrarás el argumento sobre la npm install

El argumento --nodedir = / ruta / a / nodo / fuente permitirá a npm encontrar el código fuente del nodo para que npm pueda compilar módulos nativos.

por lo que el comando final debe ser

npm install <package> --nodedir="<DRIVERLETTER>:/Users/<USERNAME/.node-gyp/0.10.3"

es posible que reciba algunas advertencias, pero debería completarse con éxito.


Esto es lo que me ayudó a resolverlo:

Por alguna razón, tenía node-gyp en dos directorios diferentes.

Directorio 1:

C:/Users/Imran Bughio/.node-gyp/0.10.21/

Directorio 2:

C:/Users/Imran Bughio/Documents/.node-gyp/0.10.21/


En el segundo directorio, tenía una carpeta uv dentro de la carpeta deps pero esa carpeta no estaba allí en el primer directorio.

Aquí está la ruta: nótese que tiene uv.h archivo uv.h dentro.

C:/Users/Imran Bughio/.node-gyp/0.10.21/deps/uv

SOLUCIÓN:

Simplemente moví el uv y todas las otras carpetas adicionales del directorio 2 al directorio 1.

La respuesta de @ Phoenix me dio una pequeña pista, que finalmente me ayudó a resolver esto, gracias, Phoenix.


Antes de hacer nada, actualice Nodo y NPM instalándolo desde el sitio web del nodo (la actualización del nodo y npm a través de npm parece estar bloqueada en Windows. No estoy seguro de que esas instrucciones de eliminar y reinstalar todo en el pedido estén actualizadas pero eso sin duda sería un gran PITA que fue lo que me inspiró a buscar alternativas dado que esa publicación era un poco antigua en años de nodo.

En última instancia, esto resolvió un problema para mí con node-gyp como una dependencia para el módulo pg y se ejecutó con vs 2013, creo (o al menos eso es lo que parecía estar buscando antes de que comenzara a funcionar).