NodeJS: error al instalar con NPM

197
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.

C:\Windows\system32>npm install caress-server
npm http GET https://registry.npmjs.org/caress-server
npm http 304 https://registry.npmjs.org/caress-server
npm http GET https://registry.npmjs.org/jspack/0.0.1
npm http GET https://registry.npmjs.org/buffertools
npm http 304 https://registry.npmjs.org/jspack/0.0.1
npm http 304 https://registry.npmjs.org/buffertools

> buffertools@2.0.1 install C:\Windows\system32\node_modules\caress-server\node_
modules\buffertools
> node-gyp rebuild


C:\Windows\system32\node_modules\caress-server\node_modules\buffertools>node "G:
\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-
gyp.js" rebuild
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYT
HON env variable.
gyp ERR! stack     at failNoPython (G:\nodejs\node_modules\npm\node_modules\node
-gyp\lib\configure.js:101:14)
gyp ERR! stack     at G:\nodejs\node_modules\npm\node_modules\node-gyp\lib\confi
gure.js:64:11
gyp ERR! stack     at Object.oncomplete (fs.js:107:15)
gyp ERR! System Windows_NT 6.2.9200
gyp ERR! command "node" "G:\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\
bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Windows\system32\node_modules\caress-server\node_modules\buffert
ools
gyp ERR! node -v v0.10.25
gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok
npm ERR! buffertools@2.0.1 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the buffertools@2.0.1 install script.
npm ERR! This is most likely a problem with the buffertools package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls buffertools
npm ERR! There is likely additional logging output above.

npm ERR! System Windows_NT 6.2.9200
npm ERR! command "G:\\nodejs\\\\node.exe" "G:\\nodejs\\node_modules\\npm\\bin\\n
pm-cli.js" "install" "caress-server"
npm ERR! cwd C:\Windows\system32
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.24
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Windows\system32\npm-debug.log
npm ERR! not ok code 0

C:\Windows\system32>

Estoy instalando un cierto script NodeJS - Caricia . Pero no soy incapaz de hacerlo. Estoy usando Windows 8.1, ¿alguien puede decirme cuál es el problema al que me enfrento y por qué esta instalación no funciona? Parece que hay un problema con la dependencia de buffertools, eso es lo que puedo pensar. ¿No sabes cómo solucionar esto?

Si descargo la compilación de github y la coloco en módulos de nodo, parece que nada funciona. cuando trato de comenzar, usando npm start, o durante la implementación.

G:\nodejs\node_modules\caress-server>npm install

G:\nodejs\node_modules\caress-server>npm start

> caress-server@0.1.1 start G:\nodejs\node_modules\caress-server
> node examples/server.js

   info  - socket.io started

module.js:340
    throw err;
          ^
Error: Cannot find module './build/Release/buffertools.node'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (G:\nodejs\node_modules\caress-server\node_modules\buf
fertools\buffertools.js:16:19)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)

npm ERR! caress-server@0.1.1 start: `node examples/server.js`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the caress-server@0.1.1 start script.
npm ERR! This is most likely a problem with the caress-server package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node examples/server.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls caress-server
npm ERR! There is likely additional logging output above.
npm ERR! System Windows_NT 6.2.9200
npm ERR! command "G:\\nodejs\\\\node.exe" "G:\\nodejs\\node_modules\\npm\\bin\\n
pm-cli.js" "start"
npm ERR! cwd G:\nodejs\node_modules\caress-server
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.24
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     G:\nodejs\node_modules\caress-server\npm-debug.log
npm ERR! not ok code 0

G:\nodejs\node_modules\caress-server>
Shaurya Chaudhuri
fuente
la variable env no se configuró. No trabaje con eso tampoco. pastebin.com/jBXwi63a
Shaurya Chaudhuri

Respuestas:

365
Como se comenta a continuación, es posible que no necesite instalar VS en Windows, consulte esto

https://github.com/nodejs/node-gyp/issues/629#issuecomment-153196245

ACTUALIZADO 02/2016

Algunos complementos npm necesitan node-gyp instalar .

Sin embargo, node-gyptiene sus propias dependencias ( de la página de github ):

ingrese la descripción de la imagen aquí

ACTUALIZADO 09/2016

Si está utilizando Windows, ahora puede instalar todas las node-gypdependencias con un solo comando (NOTA: Ejecutar como administrador en Windows PowerShell):

 $ npm install --global --production windows-build-tools

y luego instale el paquete

 $ npm install --global node-gyp

ACTUALIZADO 06/2018

https://github.com/nodejs/node-gyp/issues/809#issuecomment-155019383

Elimine su directorio $ HOME / .node-gyp e intente nuevamente.

Vea la documentación completa aquí: node-gyp

Ilan Frumer
fuente
Entonces, cuando lo instalo en una caja de Linux. ¿Qué hago en lugar de ms vc ++? Y obtengo esto cuando hice todas las cosas que mencionaste. - pastebin.com/LgJEKFFS
Shaurya Chaudhuri
Una cadena de herramientas de compilación C / C ++ adecuada, como GCC:sudo apt-get install g++
Ilan Frumer
1
@IlanFrumer oh, preferiría Linux en cualquier momento, pero a veces tengo que instalar aplicaciones en el servidor de un cliente ...
Spock
44
¿No se resolvería esto teniendo un compilador de C ++ no dependiente de VS instalado en Windows? ¿Es tal cosa imposible de encontrar? Estoy confundido.
jcollum
1
Gracias por el apoyo chicos, funciona para mí. Solo un consejo: ejecutar como administrador en Windows
MuriloMittmann
16

Asegúrese de tener todo el software requerido para ejecutar node-gyp:

Puede configurar la versión de Visual Studio utilizada por node-gypuna variable de entorno para evitar tener que configurar la --msvs_version=2012propiedad cada vez que realice una instalación npm.

Ejemplos:

  • establecido GYP_MSVS_VERSION=2012para Visual Studio 2012
  • conjunto GYP_MSVS_VERSION=2013e(la 'e' significa 'edición rápida' GRATUITA)

Para ver la lista completa, consulte: https://github.com/joyent/node/blob/v0.10.29/tools/gyp/pylib/gyp/MSVSVersion.py#L209-294

Esto sigue siendo doloroso para los usuarios de Windows de NodeJS, ya que supone que tiene una copia de Visual Studio instalada y muchos usuarios finales nunca la tendrán. Por lo tanto, estoy presionando a Joyent para alentarlos a que incluyan sockets web como parte del nodo CORE y también para que puedan enviar un compilador gcc GNU como parte de la instalación de NodeJS para que podamos solucionar este problema permanentemente.

Siéntase libre de agregar su voto en:

Tony O'Hagan
fuente
44
Solo (finalmente) lo tuve trabajando con VS 2015 Community edition. Estoy en la ventana 10, 64 bits. Usé "npm config set msvs_version 2015 -g" en el símbolo del sistema (después de la instalación de VS, por supuesto). La mayoría de las personas que cayeron en este problema con el tiempo sugirieron VS2010, o a veces hasta 2013, pero resolví al menos mi problema actual de nodo-gyp con VS2015. Tuve que "npm install -g sigmund" e instalar manualmente "lru-cache" desde Github, también. El problema original era tener instalado "Utf-8-Validate", como una dependencia de una muestra de Aurelia.
Mathieu Leblanc
10

Encontré el problema con el error:

gyp ERR! configure error

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

Esto es lo que estaba haciendo y lo que finalmente funcionó.

Descargo de responsabilidad : acabo de poner mis manos en Node, Angular después de muchos años en el mundo de Java, Linux, entre otros ...

Descripción del entorno : Windows 8.1 de 64 bits; Cygwin; Cygwin bash shell

Comando utilizado que condujo al error : npm install -g karma

Error : gyp ERR! configurar error gyp ERR! error de pila: No se puede encontrar el "python" ejecutable de Python, puede configurar la variable env PYT HON.

Descubrimiento : 'which python' en bash shell muestra claramente '/ usr / bin / python'. Ahora que es molesto!

Solución : Esto solo es aplicable a aquellos que usan un entorno similar al que tengo yo, es decir, que usan cygwin y bash shell. Espero que también ayude en otros entornos, pero tenga en cuenta que su tetera puede verse un poco diferente a la mía.

  1. En primer lugar, es necesario establecer la variable env del shell $ PYTHON en .bashrc usando la ruta explícita de Windows al ejecutable de Python y no la ruta raíz (/ usr / bin) de Unix utilizada por cygwin.
  2. En segundo lugar, y esto tomó mucha prueba / error y ¡aquí está el problema! Cygwin instala Python en / usr / bin (que es realmente un espejo de / bin en Windows) con la versión, es decir (en mi sistema) /usr/bin/python2.7.exe y luego agrega un enlace / usr / bin / python -> python2.7.exe. El problema es que gyp no puede seguir este enlace y sigue dando el molesto error de que no puede encontrar python a pesar de que puede encontrarlo bien desde la línea de comandos del shell.
  3. Con el fondo anterior, ahora agregue la siguiente línea a su .bashrc

export PYTHON = "C: /cygwin64/bin/python2.7.exe (o cualquiera que sea la versión en su sistema)"

  1. Ahora obtenga su .bashrc desde su directorio de inicio (en cygwin) -> 'source .bashrc'

Ahora debería estar bien y gyp encontrará el ejecutable de python.

Espero que esto ayude a alguien a tropezar con el mismo problema o similar.

Andy
fuente
Esto es lo que resolvió mi problema usando GitBash 2.6.3 en Windows
Scott Offen
3

debería poder obtener todas las dependencias de nodo-gyp con chocolatey para Windows

choco install python2
choco install visualstudioexpress2013windowsdesktop
tarikakyol
fuente
2

Configurar entorno JavaScript

1. Instalar Node.js

Descargue el instalador en el sitio web de NodeJs. Puedes descargar la última V6

2. Actualizar Npm

Npm se instala junto con Node.js. Entonces no te preocupes.

3. Instale Anaconda

Anaconda es la plataforma líder de ciencia de datos abiertos impulsada por Python. La versión de código abierto de Anaconda es una distribución de alto rendimiento de Python. Puede ayudarlo a administrar su dependencia de Python. Puede usarlo para crear un entorno de python diferente en el futuro si desea tocarlo.

Node-gyp solo admite> = Python 2.7 y <Python 3.0

Así que solo instala la versión 2.7

4. Instalar Node-gyp

Puedes instalar con  npm:

$ npm install -g node-gyp

También deberá instalar:

  • En Windows:

    • Opción 1: instale todas las herramientas y configuraciones requeridas utilizando las herramientas de compilación de Windows de Microsoft   usando  npm install --global --production windows-build-tools un PowerShell elevado o CMD.exe (ejecutado como Administrador).

    • Opción 2: instalar herramientas y configuración manualmente:

    • Entorno de compilación de Visual C ++:

      • Opción 1: instale las  herramientas de compilación de Visual C ++  con la   opción de instalación predeterminada .
      • Opción 2: Instale  Visual Studio 2015  (o modifique una instalación existente) y seleccione  Herramientas comunes para Visual C ++  durante la instalación. Esto también funciona con las ediciones gratuitas Community y Express for Desktop.

      💡 [Solo Windows Vista / 7] requiere  .NET Framework 4.5.1

    • Lanzar cmd, npm config set msvs_version 2015

    Si los pasos anteriores no funcionaron para usted, visite  las Directrices Node.js de Microsoft para Windows  para obtener consejos adicionales.

Si tiene instaladas varias versiones de Python, puede identificar qué versión de Python  node-gyp usa configurando la variable '--python':

$ node-gyp --python C:/Anaconda2/python.exe

Si  node-gyp se llama a través de  npm y  tiene varias versiones de Python instaladas, puede establecer  npmla clave de configuración 'python' en el valor apropiado:

$ npm config set python C:/Anaconda2/python.exe

Actualización futura para Node.js y npm

Descargue el instalador desde su sitio web oficial e instálelo directamente. El instalador lo ayudará automáticamente a eliminar archivos antiguos.

npm update npm

Futura actualización para Python

conda update --all

YoongKang Lim
fuente
1

Para usuarios de Cygwin:

El problema de Python con el uso npmen una instalación Cygwin lista para usar es que node-gypestá dando un error engañoso debido a una verificación incompleta en el ../npm/node_modules/node-gyp/lib/configure.jscódigo.

Se debe a cómo Cygwin trata los enlaces simbólicos. No lo hace correctamente en una instalación lista para usar. Por lo tanto, los mensajes de error del código anterior se vuelven engañosos, ya que se queja de la PYTHONruta y no de la existencia depython.exe archivo (o enlace).

Hay (al menos) 2 formas de resolver esto.

  1. Instalación del paquete Cygwin cygutils-extray uso winln.
  2. Use Windows CMD nativo en modo Administrador.

Para ( 1 ) puede crear un enlace simbólico adecuado desde el shell Cygwin siguiendo estos pasos:

# To make the Cygwin environment treat Windows links properly: 
# Alternatively add this to your `.bashrc` for permanent use.
export CYGWIN=winsymlinks:nativestrict

# Install Cygwin package containing "winln"
apt-cyg install cygutils-extra

# Make a proper Windows sym-link:
cd /cygdrive/c/cygwin64/bin/
winln.exe -s python2.7.exe python.exe

# Add PYTHON as a native Windows system wide variable (HKLM) 
setx /M PYTHON "C:\cygwin64\bin\python"

(También suponiendo que esté ejecutando el shell Cygwin como administrador). apt-cygSe recomienda usar y se puede encontrar en varias formas en github.


Para ( 2 ) la resolución para los usuarios de Cygwin listos para usar es la siguiente:

# Open a native Windows CMD in Administrator mode and:
cd C:\cygwin64\bin\
mklink python.exe python2.7.exe

El resultado debería verse así:

C:\cygwin64\bin>ls -al python*
lrwxrwxrwx 1 xxx            xxx   13 Jun  2  2015 python -> python2.7.exe
lrwxrwxrwx 1 Administrators xxx   13 Aug 24 17:28 python.exe -> python2.7.exe
lrwxrwxrwx 1 xxx            xxx   13 Jun  2  2015 python2 -> python2.7.exe
-rwxr-xr-x 1 xxx            xxx 9235 Jun  2  2015 python2.7.exe
emigenix
fuente
1

Para ventanas

Verifique la ruta de Python en la variable del sistema. Los complementos npm necesitan que se instale node-gyp.

Abra el símbolo del sistema con derechos de administrador y ejecute el siguiente comando.

npm install --global --production windows-build-tools

npm install --global node-gyp

Mahesh Gudadari
fuente
0

gyp ERR! configurar error gyp ERR! error de pila: No se puede encontrar el "python" ejecutable de Python, puede configurar la variable env PYT HON.

Esto significa el entorno de Python. La variable debe apuntar al archivo ejecutable de Python, en mi caso: SET PYTHON=C:\work\_env\Python27\python.exe

Y. Aliaksei
fuente
0

para mí la solución fue:

rm -rf  ~/.node_gyp and
sudo npm install -g node-gyp@3.4.0
cd /usr/local/lib sudo ln -s ../../lib/libSystem.B.dylib libgcc_s.10.5.dylib 
brew install gcc
npm install
Orr
fuente
0

La pregunta ya está respondida, pero esto no funcionaba en mi caso, que es un sistema operativo basado en Linux alpino, por lo que tal vez esto ayude a alguien más.

También recibí el mismo error

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

Así que corrija por una sola línea solo agregue esto si está trabajando en Dockerfile o instálelo en el sistema operativo

apk add --no-cache python nodejs

en ubuntu

sudo apt-get install python3.6

Nota: Versión de nodo: 8

Adiii
fuente
0

instale el compilador node-gyp y c ++ (gcc-c ++).

brajesh jaishwal
fuente
¿Puedes explicar cómo esta es una mejor respuesta que las otras 11 que ya están aquí?
Stephen Rauch
Hola Stephan, seguro que no es el mejor, pero sí, en unos pasos mínimos que funcionaron para mí.
brajesh jaishwal
0

Se corrigió con la degradación de Node de v12.8.1 a v11.15.0 y todo se instaló correctamente

Maksym
fuente