41
votes

Comment résoudre l'erreur d'installation de NPM «NPM ERR! Code 1 ”

J'essaie d'installer Gulp et lorsque j'écris NPM Install J'ai obtenu ce problème:

npm ERR! code 1
npm ERR! path D:\www\wegrow\node_modules\node-sass
npm ERR! command failed
npm ERR! command C:\Windows\system32\cmd.exe /d /s /c node scripts/build.js
npm ERR! Building: C:\Program Files (x86)\nodejs\node.exe D:\www\wegrow\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp verb cli [
npm ERR! gyp verb cli   'C:\\Program Files (x86)\\nodejs\\node.exe',
npm ERR! gyp verb cli   'D:\\www\\wegrow\\node_modules\\node-gyp\\bin\\node-gyp.js',
npm ERR! gyp verb cli   'rebuild',
npm ERR! gyp verb cli   '--verbose',
npm ERR! gyp verb cli   '--libsass_ext=',
npm ERR! gyp verb cli   '--libsass_cflags=',
npm ERR! gyp verb cli   '--libsass_ldflags=',
npm ERR! gyp verb cli   '--libsass_library='
npm ERR! gyp verb cli ]
npm ERR! gyp info using node-gyp@3.8.0
npm ERR! gyp info using node@16.1.0 | win32 | ia32
npm ERR! gyp verb command rebuild []
npm ERR! gyp verb command clean []
npm ERR! gyp verb clean removing "build" directory
npm ERR! gyp verb command configure []
npm ERR! gyp verb check python checking for Python executable "python2" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (D:\www\wegrow\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (D:\www\wegrow\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (D:\www\wegrow\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at D:\www\wegrow\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed     at D:\www\wegrow\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at D:\www\wegrow\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:194:21)
npm ERR! gyp verb `which` failed  python2 Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (D:\www\wegrow\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (D:\www\wegrow\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (D:\www\wegrow\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at D:\www\wegrow\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed     at D:\www\wegrow\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at D:\www\wegrow\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:194:21) {
npm ERR! gyp verb `which` failed   code: 'ENOENT'
npm ERR! gyp verb `which` failed }
npm ERR! gyp verb check python checking for Python executable "python" in the PATH
npm ERR! gyp verb `which` succeeded python C:\Python39\python.EXE
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: Command failed: C:\Python39\python.EXE -c import sys; print "%s.%s.%s" % sys.version_info[:3];
npm ERR! gyp ERR! stack   File "<string>", line 1
npm ERR! gyp ERR! stack     import sys; print "%s.%s.%s" % sys.version_info[:3];
npm ERR! gyp ERR! stack                       ^
npm ERR! gyp ERR! stack SyntaxError: invalid syntax
npm ERR! gyp ERR! stack
npm ERR! gyp ERR! stack     at ChildProcess.exithandler (node:child_process:326:12)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:365:28)
npm ERR! gyp ERR! stack     at maybeClose (node:internal/child_process:1067:16)
npm ERR! gyp ERR! stack     at Socket.<anonymous> (node:internal/child_process:453:11)
npm ERR! gyp ERR! stack     at Socket.emit (node:events:365:28)
npm ERR! gyp ERR! stack     at Pipe.<anonymous> (node:net:661:12)
npm ERR! gyp ERR! System Windows_NT 10.0.19042
npm ERR! gyp ERR! command "C:\\Program Files (x86)\\nodejs\\node.exe" "D:\\www\\wegrow\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd D:\www\wegrow\node_modules\node-sass
npm ERR! gyp ERR! node -v v16.1.0
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok
npm ERR! Build failed with error code: 1

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\wbalu\AppData\Local\npm-cache\_logs\2021-05-05T10_38_29_779Z-debug.log

J'ai formaté mon ordinateur. Tout fonctionnait avant. Et maintenant, quand j'essaie de l'installer, c'est ce qui apparaît. J'ai essayé de réinstaller Node.js mais cela n'a pas aidé. Je ne sais pas ce que je devrais faire.


2 commentaires

Vous avez un programme écrit dans la langue Python2 et vous essayez de l'exécuter avec Python3: une langue apparentée, mais différente. Ce n'est pas un problème avec Node.js, et n'a rien à voir avec Git.


J'ai téléchargé Python27 et l'ai ajouté au chemin, et cela ne fonctionne toujours pas: / même erreur. Je ne sais pas si j'ai fait quelque chose de mal ou STH.


10 Réponses :


-1
votes

Essayez NPM Install --python = python2.7 . Cela devrait fonctionner. Edit: Alternativement, - Python = chemin vers votre exécutable Python


1 commentaires

NPM Config set python et votre exécutable Python? Puis npm install ?



31
votes

Si votre version de nœud est très récente, essayez la rétrogradation. Version stable 14.16.1 Fonctionnée.


3 commentaires

C'était définitivement un problème pour moi. J'ai traversé un tas de cerceaux, et la rétrogradation du nœud est ce qui a fonctionné. 14.x est ce qui est actuellement recommandé pour la plupart des gens. Le fil me force jusqu'à 16.x. Dans HomeBrew, vous pouvez Brew Install Node @ 14 Brew Unlink Node Brew Link Node @ 14 pour revenir à 14 ou pour basculer entre eux.


Merci @alejandros, cela a fonctionné dans mon scénario Apple-Silicon, en utilisant Brew comme @Jake montre, mais au lieu de dissocier / lien, j'alias simplement chacun de NPM, NPX, NODE> alias npm14 = '/ opt / homebrew / celar / node @ 14 / * / bin / npm ' Et en utilisant ces travaux, je suis sûr qu'il y aura un problème avec le chemin global node_modules que je n'ai pas encore résolu.


Lien de téléchargement: nodejs.org/dist/v14.16.1



12
votes

essayez

npm i


2 commentaires

Cela a fonctionné pour moi et semble être une bien meilleure solution pour moi que de rétrograder quoi que ce soit


StackOverflow Cheat: Recherchez la question aléatoire liée au NPM, suggèrez-le.



3
votes

J'ai également rencontré ce problème. Après avoir regardé ma configuration, je n'ai rien vu de mal et j'ai supprimé le cache et supprimé le verrouillage du package et toujours pas de succès.

C'était un site Web plus ancien et j'ai essayé d'utiliser la mise à jour / etc. en vain.

J'ai donc supprimé la partie dépendante des dépendances dans mon fichier package.json et j'ai commencé à travailler mon chemin en installant un à la fois.

ça marche!

Apparemment, presque toutes les versions étaient une mise à jour majeure derrière laquelle était trop à mettre à jour.


0 commentaires

13
votes

Le nœud de rétrogradation est une option, mais je n'aime pas l'idée de rétrograder le nœud simplement parce qu'un package lance une erreur. À mon avis, ce serait une meilleure approche pour découvrir quel package provoque l'erreur, puis le réparer.

La solution rapide

dans la ligne après npm err! Code 1 Vous devriez pouvoir voir npm err! chemin ... . Dans mon cas, le chemin indique qu'il y a un problème avec le package nœud-sass npm:

// package.json with the updated dependency

"node-sass": "^7.0.1",

Supprimez maintenant ce package NPM de package.json et voyez si l'installation fonctionne. Si cela fonctionne, vous avez trouvé le coupable! Dans mon cas, tout ce que j'avais à faire pour le corriger était de mettre à niveau Node-Sass à la dernière version.

// package.json with the outdated dependency

"node-sass": "^4.14.1",
npm ERR! code 1
npm ERR! path /home/gignu/GitHub/Movie-Subtitles/node_modules/node-sass
npm ERR! command failed


0 commentaires

1
votes

J'avais fait face au même problème après la mise à niveau angulaire, j'ai donc essayé plusieurs étapes pour le résoudre. Certaines des étapes sont mentionnées ci-dessous.

  1. Essayez avec la suppression package-lock.json fichier et node_module puis exécuter
  2. npm uninstall npm -g
    

    Et essayez npm i à nouveau pour installer des packages si cela ne fonctionne toujours pas vérifier l'étape 2

    1. Vérifiez la version NodeJS et version NPM si les deux versions sont compatibles. Dans mon cas, j'utilisais le nœud V14.15.0 et le NPM V8.1.6, donc j'ai désinstallé le NPM avec la commande ci-dessous et j'ai installé le nœud JS pour créer le nœud et la version NPM en synchronisation
    2. npm cache clean --force 
      

      Et cela fonctionne pour moi.


0 commentaires

-1
votes

Essayez CNPM, cela fonctionne pour moi


0 commentaires

1
votes

Lorsque j'essaie d'exécuter la commande npm install dans le projet plus ancien, j'ai fait face aux mêmes problèmes et je l'ai résolu en mettant à jour les dépendances dans package.json à la dernière version par la dernière version par Suivant les étapes:

  • delete node_modules et package-lock.json

  • Installez npm-cochock updates globalement, pour mettre à jour tous les packages vers une nouvelle version majeure

    Exécuter npm install -g npm-ceck-updates

  • Exécuter ncu -u pour mettre à jour les dépendances dans package.json à la dernière version

    Remarque: vous pouvez utiliser NPM Update , mais NPM Update ne met pas à jour vers la dernière version

  • Exécuter npm install


  • 0 commentaires

    1
    votes

    Essayez peut-être Installer . Ça marche pour moi.


    0 commentaires

    0
    votes

    Essayez d'utiliser

      npm install -g firebase-tools
    

    au lieu de

      npm install -g firebase-tools@7.7.0
    

    j'espère que cela fonctionnera pour vous


    1 commentaires

    Votre réponse pourrait être améliorée avec des informations de support supplémentaires. Veuillez modifier pour ajouter plus de détails, tels que des citations ou de la documentation, afin que d'autres puissent confirmer que votre réponse est correcte. Vous pouvez trouver plus d'informations sur la façon d'écrire de bonnes réponses dans le centre d'aide .