npm_config_node_gyp not nodejs node error node.js windows-7 node-gyp

node.js - not - node-gyp rebuild error windows 10



error de compilación node-gyp para el módulo bcrypt en Windows_NT 6.1.7600(x86) (1)

Encontré muchas respuestas como una especie de esta pregunta, pero todas ellas no pudieron resolver mi problema. Aquí están mis versiones instaladas:

node 0.10.31 npm 1.4.23 node-gyp 0.10.31 bcrypt 0.7.8

Tengo la dependencia en package.json "bcrypt": "0.7.x" . Aquí están mi paso a paso:

1) Ejecute la npm install

gyp ERR! stack Error: Can''t find Python executable "python", you can set the PYTHON env variable.

Tuve que instalar Python 2.7. *

2) Ejecutar la npm install

MSBUILD : error MSB3428: Could not load the Visual C++ component "VCBuild.exe". To fix this, 1) install the .NET Framework 2.0 SDK, 2) install Microsoft Visual Studio 2005 or 3) add the location of the component to the system path if it is installed elsewhere.

Tuve que instalar Visual Studio 2008 (Professional) que es el único que tenía en mi mano. Y agregué la variable PATH C:/Program Files/Microsoft Visual Studio 9.0/VC/vcpackages donde está vcbuild.exe .

3) Ejecute la npm install nuevamente

VCBUILD : error Message: [D:/.../node_modules/bcrypt/build/binding.sln] VCBUILD : System error : -2147154687. [D:/.../node_modules/bcrypt/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

Parece usar .NET 4 y falló. Tengo seis carpetas .NET frameworks en C:/Windows/Microsoft.NET/Framework y parece usar la última:

  • v1.0.3705
  • v1.1.4322
  • v2.0.50727
  • v3.0
  • v3.5
  • v4.0.30319

4) Intentó npm install --msvs_version=2008

Mismo error que (2) .

5) Intentó npm install --msvs_version=2012

El error cambió un poco.

D:/.../node_modules/bcrypt/build/bcrypt_lib.vcxproj(18,3): error MSB4019: The imported project "D:/Microsoft.Cpp.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. gyp ERR! build error gyp ERR! stack Error: `C:/Windows/Microsoft.NET/Framework/v4.0.30319/msbuild.exe` failed with exit code: 1

6) Intentó la reconstrucción del nodo-gyp

D:/.../node-proj>node-gyp rebuild --msvs_version=2008 ''node-gyp'' is not recognized as an internal or external command, operable program or batch file.

¿Hay alguna idea sobre esto?


Seguí el paso de instalación de Windows para node-gyp e instalé Microsoft Visual Studio. C ++ 2010 Express resolvió el problema excepto algunas advertencias. Vi la biblioteca creada en el mensaje de la consola.

El proceso de compilación parece buscar [Drive]:/Program Files/Microsoft Visual Studio 10.0/VC/vcpackages/vcbuild.dll que instala Visual Studio C ++ 2010 Express.

Primero instalé Microsoft Visual Studio C ++ 2012/13 para Windows Desktop , uno de los requisitos para Windows 7/8. Pero no funcionó realmente y no es necesario para Windows 7 .

Conclusión

El requisito de node-gyp para Windows 7 32 bits (Windows 7/8 64 bits puede tener requisitos diferentes):

  • Python v2.7.3 (v3.xx no es compatible)
  • Windows XP / Vista / 7:
    • Microsoft Visual Studio C ++ 2010 (la versión Express funciona bien)
    • Para compilaciones de 64 bits de módulos nativos y nodos, también necesitará el SDK de Windows 7 de 64 bits.
      • Si la instalación falla, intente desinstalar cualquier C ++ 2010 x64 y x86 Redistributable que haya instalado primero.
    • Si obtiene errores de que los compiladores de 64 bits no están instalados, es posible que también necesite la actualización del compilador para Windows SDK 7.1
  • Windows 7/8:
    • Microsoft Visual Studio C ++ 2012/13 para Windows Desktop (la versión Express funciona bien)

Este es un requisito no solo para bcrypt , sino también para todos los módulos de nodos que deben construirse usando node-gyp . Si comprueba los archivos de configuración de un módulo, verá su requisito, por ejemplo, puede verificar los siguientes archivos:

  • /node_modules/bcrypt/build/binding.sln
  • /node_modules/bcrypt/build/config.gypi