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