web-dev-qa-db-fra.com

NodeJS - Erreur d'installation avec NPM

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

> [email protected] 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! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] 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>

J'installe un certain script NodeJS - Caress . Mais je ne suis pas incapable de. J'utilise Windows 8.1. Quelqu'un peut-il me dire quel est le problème auquel je suis confronté et pourquoi cette installation ne fonctionne pas? Il semble y avoir un problème avec la dépendance de buffertools, c'est ce que je peux penser. Ne sais pas comment peut-être résoudre ce problème?

Si je télécharge la construction de github et la place dans des modules de nœud, rien ne semble fonctionner. lorsque j’essaie de démarrer, en utilisant npm start ou lors de la mise en œuvre.

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

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

> [email protected] 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! [email protected] start: `node examples/server.js`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the [email protected] 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>
185
Shaurya Chaudhuri

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

MISE À JOUR 02/2016

Certains plugins npm ont besoin de node-gyp pour être installés.

Cependant, node-gyp a ses propres dépendances ( depuis la page github ):

enter image description here

MISE À JOUR 09/2016

Si vous utilisez Windows, vous pouvez maintenant installer toutes les dépendances node-gyp avec une seule commande (REMARQUE: Exécuter en tant qu'administrateur dans Windows PowerShell):

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

puis installez le paquet

 $ npm install --global node-gyp

MISE À JOUR 06/2018

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

Supprimez votre répertoire $ HOME/.node-gyp et réessayez.

Voir la documentation complète ici: node-gyp

353
Ilan Frumer

Assurez-vous de disposer de tous les logiciels requis pour exécuter node-gyp:

Vous pouvez configurer la version de Visual Studio utilisée par node-gyp via une variable d'environnement afin d'éviter de devoir définir la propriété --msvs_version=2012 chaque fois que vous effectuez une installation npm.

Exemples: 

  • définir GYP_MSVS_VERSION=2012 pour Visual Studio 2012 
  • set GYP_MSVS_VERSION=2013e (le «e» signifie «édition express» GRATUITE) 

Pour la liste complète, voir - https://github.com/joyent/node/blob/v0.10.29/tools/gyp/pylib/gyp/MSVSVersion.py#L209-294

Cela reste difficile pour les utilisateurs Windows de NodeJS car cela suppose que vous avez une copie de Visual Studio installée et que de nombreux utilisateurs finaux ne l'auront jamais. Je fais donc pression sur Joyent pour les encourager à inclure des sockets Web dans le nœud CORE et également à envoyer un compilateur GNU gcc dans le cadre de l'installation de NodeJS afin que nous puissions résoudre ce problème de façon permanente. 

N'hésitez pas à ajouter votre vote à:

16
Tony O'Hagan

J'ai rencontré le problème avec l'erreur:

gyp ERR! configure error

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

Voici ce que je faisais et ce qui a finalement fonctionné.

Disclaimer : Je viens de mettre la main sur Node, Angular après de nombreuses années dans le monde Java, Linux entre autres ...

Description de l'environnement : Windows 8.1 64 bits; Cygwin; cygwin bash Shell

Commande utilisée qui a entraîné une erreur : npm install -g karma

Erreur : Gyp ERR! erreur de configuration gyp ERR! Erreur de pile: Impossible de trouver l'exécutable Python "python", vous pouvez définir la variable d'environnement PYT HON.

Découverte : 'quel python' sur bash Shell montre clairement '/ usr/bin/python'. Maintenant c'est agaçant! 

Solution : Ceci ne s’applique qu’à ceux qui utilisent un environnement similaire à celui que j’ai, c’est-à-dire cygwin et bash Shell. J'espère que cela aidera également dans d'autres environnements, mais gardez à l'esprit que votre bouilloire peut sembler un peu différente de la mienne. 

  1. Tout d'abord, il est nécessaire de définir la variable d'environnement $ PYTHON Shell dans .bashrc en utilisant le chemin de fenêtres explicite vers l'exécutable python et non pas le chemin d'accès à la racine semblable à unix (/ usr/bin) utilisé par cygwin.
  2. Deuxièmement, et celui-ci a pris beaucoup d'essais/erreurs et voici le gotcha! Cygwin installe python sous/usr/bin (qui est en réalité un miroir de/bin sous Windows) avec la version, c’est-à-dire (dans mon système) /usr/bin/python2.7.exe, puis ajoute un lien/usr/bin/python -> python2.7.exe. Le problème est que gyp ne peut pas suivre ce lien et continue de donner à l'erreur ennuyeuse de ne pas trouver python même si vous pouvez le trouver très bien à partir de la ligne de commande du shell.
  3. Avec le fond ci-dessus, ajoutez maintenant la ligne suivante à votre fichier .bashrc

export PYTHON = "C: /cygwin64/bin/python2.7.exe (ou quelle que soit la version de votre système)"

  1. Maintenant, sourcez votre .bashrc à partir de votre répertoire personnel (sur cygwin) -> 'source .bashrc' 

Ça devrait aller maintenant et gyp va trouver l'exécutable python.

J'espère que cela aide quelqu'un à trébucher sur le même problème ou sur un problème similaire.

10
Andy

devrait pouvoir obtenir toutes les dépendances noeud-gyp avec chocolatey pour Windows

choco install python2
choco install visualstudioexpress2013windowsdesktop
2
tarikakyol

Pour les utilisateurs de Cygwin:

Le problème de l'utilisation de npm sur une installation prête à l'emploi Cygwin pour Python est que node-gyp donne une erreur erreur trompeuse en raison d'une vérification incomplète du code ../npm/node_modules/node-gyp/lib/configure.js.

Cela est dû à la manière dont Cygwin traite les liens symboliques. Cela ne fonctionne pas correctement dans une installation prête à l'emploi. Ainsi, les messages d'erreur du code ci-dessus deviennent trompeurs, car ils se plaignent du chemin PYTHON et non de l'existence du fichier python.exe (ou du lien du) lui-même.

Il y a (au moins) 2 façons de résoudre ce problème. 

  1. Installation du package Cygwin cygutils-extra et utilisation de winln.
  2. Utilisez Windows CMD natif en mode Admin.

Pour (1), vous pouvez créer un lien symbolique approprié à partir de Cygwin Shell en procédant comme suit:

# 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"

(Supposons également que vous exécutez Cygwin Shell en tant qu'administrateur.) Il est recommandé d'utiliser apt-cyg et peut être trouvé sous différentes formes sur github.


Pour (2), la résolution pour les utilisateurs Cygwin prêts à l'emploi est la suivante:

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

Le résultat devrait ressembler à ceci:

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
1
emigenix

Pour les fenêtres

Vérifiez le chemin d'accès python dans la variable système . Les plugins npm nécessitent l'installation de node-gyp.

open command Invite avec les droits d'administrateur et exécuter la commande suivante.

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

npm install --global node-gyp

1
Mahesh Gudadari

Correction de la mise à niveau de Node de v12.8.1 à v11.15.0 et de toutes les installations installées avec succès

0
Maksym

On a déjà répondu à la question, mais cela ne fonctionnait pas dans mon cas, qui est un système d'exploitation basé sur Alpine Linux.

J'avais aussi la même erreur

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

Donc, fixez-le simplement par ligne si vous travaillez dans Dockerfile ou si vous l'installez dans le système d'exploitation.

apk add --no-cache python nodejs

à Ubuntu

Sudo apt-get install python3.6

Remarque: Version du nœud: 8

0
Adiii

gyp ERR! configure erreur gyp ERR! Erreur de pile: impossible de trouver Python exécutable "python", vous pouvez définir la variable env PYT HON.

Cela signifie que Python env. variable devrait pointer vers le fichier python exécutable, dans mon cas: SET PYTHON=C:\work\_env\Python27\python.exe

0
Y. Aliaksei

installez le compilateur node-gyp et c ++ (gcc-c ++).

0
brajesh jaishwal

pour moi la solution était:

rm -rf  ~/.node_gyp and
Sudo npm install -g [email protected]
cd /usr/local/lib Sudo ln -s ../../lib/libSystem.B.dylib libgcc_s.10.5.dylib 
brew install gcc
npm install
0
Orr

J'installais appium par npm install -g appium et obtenais la même erreur sous Windows 10.

Commande ci-dessous a fonctionné pour moi:

npm --add-python-to-path='true' --debug install --global windows-build-tools

https://github.com/felixrieseberg/windows-build-tools/issues/33

0
hemanto