'npm' n'est pas reconnu comme une commande interne ou externe, un programme exploitable ou un fichier de commandes

202

Je suis complètement nouveau sur nodejs. J'essaie de faire fonctionner nodejs sur ma boîte Windows 2008 afin d'installer Karma que j'utiliserais pour TDDing mon code AngularJs. J'ai fait les étapes suivantes jusqu'à présent

  1. L'installation à l'aide de Chocolatey ==> npm n'est pas reconnue
  2. L'installation à l'aide du programme d'installation nodejs 64 bits de nodejs.org ==> npm n'est pas reconnue
  3. A ce stade, courir where npmme donne ce c:\User\<Username>\AppData\Roaming\npmqui n'a rien dedans
  4. Je pense que nodejs est installé dans C:\Program Files\nodejs. L'ouverture d'une invite de commande dans ce répertoire fait npmfonctionner correctement.
  5. J'ai donc ajouté C:\Program Files\nodejsà PATHseulement pour obtenir à nouveau la même erreur quenpm is not recognized
  6. L'un des problèmes de github sur le référentiel nodejs indique que je dois redémarrer la machine et que ce serait corrigé. Mais cela n'a pas aidé jusqu'à présent
  7. Je vois une Node.jsicône dans mon Start -> Programmsmennu qui m'amène à la console nodejs mais je ne sais pas quoi faire avec ça.

Ai-je manqué une étape importante du processus?

Éditer

J'ai compris que si j'ouvre "l'invite de commande Nodejs" à partir des fichiers programme, alors npm est reconnu. Comment le faire fonctionner sur une invite de commande normale?

Éditer

Après nodeavoir commencé à faire face à un problème similaire avec une autre application. J'ai posté cette question sur le superutilisateur et comme indiqué à juste titre par la réponse acceptée, j'avais un devis supplémentaire dans mon PATHqui causait des problèmes avec tous les chemins ajoutés après le devis. J'ai le sentiment que certaines installations de Chocolatey ajoutent cette citation troublante, mais je ne sais pas laquelle.

Suhas
la source
8
Après avoir ajouté à PATH, avez-vous redémarré la ligne de commande? PATHn'est chargé que lors de l'initialisation de nouvelles sessions de ligne de commande.
Davin Tryon du
Oui Davin, j'ai redémarré la ligne de commande plusieurs fois maintenant
Suhas
J'ai "C: \ Program Files \ nodejs \" dans mon système PATHet tout fonctionne sous Windows 7.
Davin Tryon
5
Pouvez-vous ouvrir une nouvelle invite de commande et taper PATH(appuyez sur <Entrée>) et vérifier que vous voyez "C: \ Program Files \ nodejs \" là-dedans?
Davin Tryon
1
Oui, j'ai C:\Program Files\nodejsenPATH
Suhas

Réponses:

347

Il suffit d'ajouter:

;C:\Program Files\nodejs\

À la fin de votre variable Path dans la section "Variable utilisateur" des Variables d'environnement dans les Propriétés système.

Après cela, rouvrez votre invite de commande et tapez

npm

Cela devrait fonctionner.

Breno
la source
4
La raison pour laquelle je n'ai pas accepté la réponse est que j'avais déjà cette entrée de chemin. La raison pour laquelle cela ne fonctionnait pas était différente. J'ai donné un coup de pouce pour votre réponse
Suhas
4
le point-virgule sépare les différentes variables utilisateur que vous pouvez avoir. Donc, normalement, vous avez déjà des chemins dans vos variables d'environnement, et pour en ajouter un nouveau, vous devez d'abord vous séparer des autres en ajoutant un point-virgule avant le chemin que vous souhaitez ajouter.
Breno
2
prenez-moi un peu de temps pour trouver comment ajouter <code>; C: \ Program Files \ nodejs \ </code> sur "Variable utilisateur". Partage ceci ci-dessous: 1: Ouvrez la fenêtre Propriétés système (Démarrer -> Paramètres -> Panneau de configuration -> Performances et maintenance -> Système). 2.Sélectionnez l'onglet Avancé. 3.Cliquez sur le bouton Variables d'environnement. 4.Cliquez sur le bouton Nouveau sous "Variables utilisateur" 5.ajoutez "Chemin" et "; C: \ Program Files \ nodejs \"
Wen
6
Le programme d'installation de node.js a déjà mis la variable path pour moi. Mais je n'ai toujours pas npm sur la ligne de commande.
MrFox
7
Avez-vous redémarré @MrFox?
Breno
116

N'oubliez pas de redémarrer votre ordinateur après l'installation de node! Celui-là m'a eu.

user3414680
la source
Je ne sais pas si vous en avez besoin si vous installez à l'aide de Chocoletey.
Suhas
58
Vous ne devriez pas avoir à redémarrer, mais fermez simplement votre terminal et ouvrez-le à nouveau.
Catfish
5
Redémarrez, redémarrez, redémarrez!
Andrew Day
@Suhas… win 10 - admin PS prompt -choco install nodejs - restarted Code… STILL had to reboot
felickz
VS Code s'est mis à jour. J'ai dû redémarrer, rien d'autre n'a fonctionné.
TDP
33

Pour développer la réponse de Breno ... Pour Windows 7, ces étapes ont fonctionné pour moi:

  1. Ouvrez le panneau de configuration (cliquez sur le bouton Démarrer, puis sur Panneau de configuration )
  2. Cliquez sur Comptes d'utilisateurs
  3. Cliquez sur Modifier mes variables d'environnement
  4. Sélectionnez PATH et cliquez sur le Modifier ... bouton
  5. À la fin de la valeur variable, ajoutez ;C:\Program Files\nodejs
  6. Cliquez sur OK dans la fenêtre "Modifier la variable utilisateur", puis cliquez sur OK dans la fenêtre "Variables d'environnement"
  7. Ouvrez une fenêtre d'invite de commande (bouton Démarrer, puis tapez cmd dans la recherche et appuyez sur Entrée)
  8. À l'invite ( C:\>), tapez npm et appuyez sur Entrée; vous devriez maintenant voir du texte d'aide ( Usage: npm <command>etc.) plutôt que " npm n'est pas reconnu ... "

Vous pouvez maintenant commencer à utiliser npm !

Luc
la source
6
Sur certains systèmes, cela peut être le cas ;C:\Program Files(x86)\nodejs.
kaiser
17

N'oubliez pas d'exécuter cmd en tant qu'administrateur.

Raul
la source
J'ai installé Node à l'extérieur Program Fileset cela a résolu le problème. Merci.
Pauline
Une chose si simple que tout le monde a ratée. Merci Raul. Votre réponse n'est pas la dernière et a résolu le problème. merci l'homme
Gaurav khurana
12

J'ai eu le même problème décrit par Ashu , mais en plus de cela, l'entrée PATH pour nodejs s'est terminée par une barre oblique inverse:

C:\Program Files\nodejs\

J'ai également dû supprimer cette dernière barre oblique inverse pour que cela fonctionne.

gbgnv
la source
1
Vous écrivez «en plus» mais le seul changement que j'ai dû faire a été de supprimer la barre oblique de fin dans la variable d'environnement système Path.
Scott Munro
9

J'ai rencontré exactement le même problème et j'ai remarqué qu'après l'installation de node.js, il y avait une nouvelle entrée de chemin dans la section des variables utilisateur pour PATH avec la valeur -> c: \ User \\ AppData \ Roaming \ npm. L'entrée Path dans la variable système est également accompagnée de -> C: \ Program Files \ nodejs. Puisque la variable utilisateur a la préférence sur le système, vous avez deux options pour résoudre ce problème. Supprimez le chemin de la variable utilisateur ou corrigez le bon chemin (C: \ Program Files \ nodejs). Redémarrez CMD et cela devrait fonctionner.

Ashu
la source
7

Téléchargez et installez simplement Node.js ici https://nodejs.org/en/

Si vous exécutez le fichier téléchargé et l'installez, il se configurera automatiquement pour votre système

Vous n'avez plus besoin d'autres configurations, vous pouvez maintenant utiliser la commande npm n'importe où


Si le Nodejs est installé avec succès et affiche toujours le message comme ceci:

'npm' n'est pas reconnu comme une commande interne ou externe, un programme exploitable ou un fichier de commandes.

Suivez les étapes ci-dessous pour les utilisateurs Windows:

  1. Accédez aux propriétés de mon ordinateur
  2. Cliquez sur Paramètres système avancés dans la barre de gauche d'une fenêtre.
  3. Vous avez maintenant une fenêtre Propriétés système. Cliquez sur Avancé
  4. Cliquez ensuite sur le bouton Variable d'environnement
  5. Vous avez maintenant une fenêtre de variable d'environnement: à partir de la variable système , sélectionnez le chemin
  6. Cliquez sur Modifier
  7. À la fin de la valeur variable, ajoutez ;C:\Program Files\nodejs\

    Remarque : Si vous avez installé nodejs sur d'autres lecteurs, veuillez agir en conséquence.

  8. Cliquez sur OK toute la boîte de dialogue ouverte

Remarque très importante : «Fermez votre invite de commande et redémarrez à nouveau» (c'est très important car si vous n'avez pas redémarré votre invite de commande, les modifications ne seront pas reflétées.)

Vous pouvez maintenant utiliser la commande npm n'importe où

Udhav Sarvaiya
la source
6

Si vous utilisez VS Code, fermez VS code et rouvrez-le.

J'ai essayé de fermer le terminal puis d'ouvrir un nouveau terminal, mais cela n'a pas fonctionné.

Le redémarrage de VS Code fonctionne!

codemirror
la source
4

Eu le même problème sur Windows 8.1 64 bits.
Il s'avère que j'obtiens ce problème si je démarre cmd en le tapant dans la barre de chemin en haut d'une fenêtre de dossier
ou
lorsque je déplace le clic droit dans une fenêtre de dossier, puis ouvre l'invite de commande dans la liste.

Lorsque j'exécute cmd en utilisant Exécuter ou simplement à partir de l'exécutable cmd.exe, cela fonctionne.

jacobian
la source
4

Si vous obtenez cette erreur via un compte de service tel que le service de contrôleur Visual Studio TFS Build ou tout autre service d'arrière-plan, assurez-vous de redémarrer le service après l'installation de npm car les nouveaux paramètres d'environnement PATH ne seront pas récupérés par les processus déjà en cours d'exécution. J'obtenais la même erreur via mon service de build mais j'avais npm installé et fonctionnant dans la console.

Ehsan Mahpour
la source
4

Vous avez peut-être déjà reçu une réponse, mais cela pourrait aider les autres, car j'ai récemment rencontré le même problème et voici ce que j'ai fait:

  1. A fourni une entrée de chemin à PowerShell. Pour moi, le chemin était C: \ Windows \ System32 \ WindowsPowerShell \ v1.0
  2. Ensuite, j'ai ouvert l'invite cmd avec des privilèges administratifs et copié ce

    @powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient) .DownloadString (' https://chocolatey.org/install.ps1 '))" && SET PATH =% PATH%;% ALLUSERSPROFILE% \ chocolaté \ bin

dans l'invite cmd.

  1. Ensuite, choco installe nodejs
  2. Redémarrez et tout a bien fonctionné. Essayez d'ouvrir cmd sans privilèges d'administrateur et exécutez npm -v Cheers.
rash.tay
la source
3

J'ai également rencontré ce problème. Il s'avère que Windows n'apprécie pas les guillemets simples sur la ligne de commande. Le coupable était l'un de mes scripts npm. J'ai changé les guillemets simples en guillemets doubles échappés:

'npm -s run sass-build'

à

\"npm -s run sass-build\"
Skott Dorrito
la source
3

Je mets à jour ce fil avec une nouvelle réponse car j'ai trouvé la solution à ma misérable situation après pas moins d'une semaine ...

Pour ceux qui rencontrent toujours l'erreur même si leur valeur de chemin d'accès est correctement définie, vérifiez votre variable pathext pour avoir la valeur (valeur par défaut dans Windows 7 +): .COM; .EXE; .BAT; .CMD; .VBS; .VBE ; .JS; .JSE; .WSF; .WSH; .MSC

Le mien devait être réglé uniquement sur: .BAT et le modifier a résolu le problème. Je me demande pourquoi personne n'a soulevé cette question ...

J'espère que cela t'aides!

A.KHOUS
la source
2

J'ai installé nodejs en suivant ce tutoriel AngularJS . la commande npm a fonctionné lorsque j'ouvre une nouvelle fenêtre cmd mais pas dans la fenêtre actuelle.
Le correctif consistait donc à fermer et à ouvrir une nouvelle fenêtre cmd .

miva2
la source
2

J'ai rencontré ce problème l'autre jour sur ma machine Windows 7. Le problème n'était pas mon chemin, mais j'ai dû utiliser des barres obliques d'échappement au lieu de barres obliques inverses comme ceci:

"scripts": {
    "script": ".\\bin\\script.sh"
}
Daniel Lizik
la source
2

Si le package est installé avec succès et affiche toujours le message " 'npm' n'est pas reconnu comme une commande interne ou externe, un programme exploitable ou un fichier de commandes. "

  1. Cliquez sur le bouton Démarrer de Windows.
  2. Recherchez " ALL APPS ", vous y verrez Node.js et Node.js Command prompt.
  3. Vous pouvez exécuter l' invite de commande Node.js en tant qu'administrateur et dès son exécution, le message "Votre environnement a été configuré pour utiliser Node.js 6.3.0 (x64) et npm" s'affiche.

et puis ça marche à partir de là ...

S.Droid
la source
1

J'ai installé Node.js et en essayant d'installer Ionic et cordova en utilisant ce morceau de code:

npm install -g cordova ionic

J'ai fait face à l'erreur ci-dessus. J'ai ajouté «C: \ Program Files \ nodejs» à ma variable d'environnement «PATH». Mais n'a toujours pas pu surmonter ce problème. Il s'est avéré que ma variable PATH dépassait 2048 caractères et je n'ai donc pas pu y ajouter le chemin Nodejs. J'ai dû supprimer le chemin d'un autre programme et ajouter le chemin Nodejs. Fermez et rouvrez l'invite cmd et essayez de réinstaller Ionic. Cela a fonctionné pour moi.

Sundar Ram
la source
1

pour moi, ajouter un chemin à PATH n'a pas fait l'affaire. Courez à la c:\Program Files\nodejs\nodevars.batplace, il fera le travail pour vous

Cheburek
la source
1

Eh bien dans mon cas, en faisant des tests via Mocha, j'ai tout essayé pour réaliser que je dois supprimer les guillemets simples autour de ma balise de script de cas de test à l'intérieur package.json.

J'exécute mochaun cas de test sur tous les *.test.jsfichiers comme vous pouvez le voir ci-dessous:

package.json

Avant:

 "scripts": {
    "test": "mocha server/**/*.test.js",
    "test-watch": "nodemon --exec 'npm run test'"
  }

Après (suppression des guillemets simples - test d'exécution npm):

 "scripts": {
    "test": "mocha server/**/*.test.js",
    "test-watch": "nodemon --exec npm run test"
  }

Ça a marché pour moi, juste au cas où quelqu'un d'autre serait aussi coincé là-dessus.

Ylama
la source
1

Si tout va bien. Je conseillerais de vérifier cela pour PATHEXT .CMD doit être ajouté. entrez la description de l'image ici

Gitesh
la source
Votre réponse a résolu à 100% mon problème. Merci.
Gauthier Buttez
0

Pour windows8, cliquez avec le bouton droit sur les propriétés de mon PC, puis cliquez sur variables d'environnement variable utilisateur ou variables système >> nouveau >> mettez le nom et le chemin de la variable: comme ceci C:\Program Files\nodejs Alors ok maintenant ouvrez cmd et tapez npm cela fonctionnera

Imran Khan
la source
2
Salut! Bienvenue chez SO. Veuillez consulter la section d'aide pour savoir comment répondre . En quoi cela diffère-t-il des réponses précédemment publiées? Y a-t-il quelque chose de spécifiquement différent de la réponse de @ Luke pour Windows 7? Le problème mentionné avec ;le chemin d'accès ne s'applique-t-il pas? Si vous confirmez simplement que, oui, la réponse acceptée est toujours applicable dans Windows 8, veuillez envisager de supprimer votre réponse et d'ajouter les informations en tant que commentaire à la réponse acceptée. Si vous apportez quelque chose de nouveau à la table, veuillez mettre à jour votre réponse pour refléter cela. Meilleur
wahwahwah
0

suivez seulement 2 étapes 1.Téléchargez nodejs manuellement allez maintenant sur ce chemin comme C: \ Program Files \ nodejs \ 2. Ajoutez ensuite un nouveau chemin comme name: chemin et nom de variable: C: \ Program Files \ nodejs \ cliquez sur ok et fermez invite cmd. rouvrez et tapez simplement npm dans l'invite

Atchutha rama reddy Karri
la source
0

Vérifiez la configuration de npm par commande:

npm config list

Il a besoin de propriétés: "préfixe", "préfixe" global et "emplacement du noeud".

; userconfig C:\Users\username\.npmrc
cache = "C:\\ProgramData\\npm-cache"
msvs_version = "2015"
prefix = "C:\\ProgramData\\npm"
python = "C:\\Python27\\"
registry = "http://registry.com/api/npm/npm-packages/"

; globalconfig C:\ProgramData\npm\etc\npmrc
cache = "C:\\ProgramData\\npm-cache"
prefix = "C:\\ProgramData\\npm"

; node bin location = C:\Program Files\nodejs\node.exe
; cwd = C:\WINDOWS\system32

Dans ce cas, il doit ajouter ces chemins à la fin de la variable d'environnement PATH:

;C:\Program Files\nodejs;C:\ProgramData\npm;
Plage de Pax
la source
0

Si vous avez utilisé des outils de build ms pour installer le nœud, le chemin est ici:

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VisualStudio\NodeJs
Helzgate
la source
-2

Nous devons installer nodejs et rien d'autre que nous devons faire, puis utilisez simplement l'invite de commande et changez de répertoire pour le projet dans lequel vous souhaitez installer npm, puis utilisez la commande npm install. ça a marché pour moi.

Vivek Verma
la source