windows-7-x64 - tools - npm gyp failed with exit code 1
node-gyp build error windows x64 (9)
Después de pasar un tiempo para que esto funcione (para mí, la respuesta aceptada no funcionó, para mí es solo la mitad de la solución) lo seguí:
Tristemente, debes tener Visual Studio (instalé la edición express 2013 para DESKTOP)
Python 2.7.3 instalado (no es necesario configurar variables de entorno)
Ejecute cmd como administrador y vaya a la raíz del proyecto (¿dónde está el archivo package.json?)
Primera ejecución:
npm config set python C:/Python27/python.exe
Entonces:
npm install -msvs_version=2013
El truco está en el comando npm config set python ...path_to_python_exe...
que será proporcionado por npm a la dependencia que necesita python, supongo. No sé por qué configurar python como variable env no es suficiente.
Esto es lo que he hecho hasta ahora en mi sistema operativo x64:
- Se instaló Python (v2.7 --específicamente 2.7.6) y lo agregué a la ruta del sistema (C: / Python27)
- Versión MS VS C ++ 2010 Express instalada (ya tenía VS 2012 pero sin el componente C ++)
- Instalado la actualización del compilador para Windows SDK 7.1
Se ha ejecutado correctamente la configuración node-gyp (desde mi directorio add-on en nodejs / node_modules donde se encuentra binding.gyp)
ejecutó la compilación node-gyp (como administrador) ** Esto es lo que se colgó, dejándome con:
este error:
C:/Program Files/nodejs/node_modules/msnodesql>node-gyp build
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | win32 | x64
gyp info spawn C:/Windows/Microsoft.NET/Framework/v4.0.30319/msbuild.exe
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.
LINK: error fatal LNK1181: no se puede abrir el archivo de entrada ''kernel32.lib'' [C: / Archivos de programa / nodejs / node_modules / msnodesql / build / sqlserver.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:/Windows/Microsoft.NET/Framework/v4.0.30319/msbuild.exe` failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:/Users/RNelson/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:797:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C://Users//RNelson//AppData//Roaming//npm//node_modules//node- gyp//bin//node-gyp.js" "build"
gyp ERR! cwd C:/Program Files/nodejs/node_modules/msnodesql
gyp ERR! node -v v0.10.25
gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok
¿Alguna idea sobre lo que esta pasando? ¡Gracias por adelantado! Solo estoy tratando de usar mi controlador MS de node-sqlserver para Node.js
Me encontré con este problema yo mismo, y así es como lo resolví con Visual Studio 2010:
Instalar los siguientes paquetes
- Python 2.7+
- Visual C ++ Studio 2010 Express
- Windows SDK 7.1 Nota: Si obtiene un error al instalar, tal vez este link lo ayude.
- Visual Studio 2010 SP1
- Actualización del compilador de Visual C ++ 2010 SP1 para Windows SDK 7.1
Use npm install
desde el símbolo del sistema de Windows SDK (lo necesita porque establece variables de entorno adicionales).
Para instalar node-gyp en Windows o cualquier otro sistema operativo
Primero es posible que deba descargar el nodo-gyp por
$ npm install -g node-gyp-install
Luego instale por
$ npm install -g node-gyp
Es posible que deba realizar el procedimiento anterior como administrador / raíz.
Para mí (Windows 7 64bit),
Luché con este tema durante la mitad del día. Finalmente funcionó.
En mi camino :
En el panel de control, borré todo Python, Microsoft Visual Studio, Microsoft Redistributable y algo sobre lo que instalé para resolver esto.
Ventana de actualización y reinicio.
Python27 instalado y Visual Studio 2013 sin configuración env-val
npm install node-gyp -g
- Tengo el mismo error, pero después de
npm config set msvs_version 2013 --global
, Funciona.
Para mí, la solución que funcionaba con VS Express era simplemente instalar Visual Studio 2013 Express para escritorio (que es el único que le da un símbolo del sistema del desarrollador a partir de la versión 2013). Abra el símbolo del sistema del desarrollador (elevado) y ejecute los comandos de instalación de NPM. Esto no requirió ningún argumento especial --msvs_version
, simplemente funcionó.
Si todo lo anterior no funcionó (mi caso - Windows10 de 64 bits )
Eliminar C: / Users / user_name / .node-gyp
Eliminar % AppData% / npm
Eliminar % AppData% / npm-cache
E instalar node-gyp nuevamente
Siguiendo instrucciones en la página node-gyp
Elegí la opción 1 npm install --global --production windows-build-tools
Tuve el mismo error ahora en 2015 al intentar instalar Keystone y revisé todo lo que me contó, pero no funcionó por sí mismo. Al final, solo tuve que ejecutar el comando
"C:/Program Files/Microsoft SDKs/Windows/v7.1/bin/SetEnv.CMD" /Release /x64
para configurar el entorno antes de ejecutar el comando. (No se asuste cuando el texto de su ventana se ponga verde, está funcionando). Así que sí, haría las instalaciones y configuraría las variables de entorno de la misma manera en todas partes en Internet, pero me aseguro de ejecutar el comando anterior antes de ejecutar cualquier otro comando. Probablemente no sea útil para ti, pero con suerte será útil para otra persona. Si eso todavía no funciona, la versión 2010 de MSVS me funcionó, así que instale esa versión y use el indicador -msvs_version = 2010 cuando ejecute el comando npm.
Tuve un problema similar. Descubrí que este cambio me ayudó
--msvs_version=2012
así por ejemplo
npm install --msvs_version=2012 <package>
npm config set msvs_version 2013 --global
funcionó para mí ya que utilizo las herramientas del nodo VS y no necesita especificar msvs_version cada vez que hace una instalación npm.
Tuve un problema por el cual la configuración de npm (c: / Users / username / .npmrc) tiene una entrada msvs_version = 2012 que estaba desactualizada.