ng n'est pas reconnu comme une commande interne ou externe

201

Exécution de Windows 7 Professionnel 32 bits.

J'ai essayé d'exécuter à la npm install -g angular-clifois sous normal ou admin. 2016-06-23_14h46_40

J'ai également essayé de l'ajouter aux variables d'environnement sous PATH:, (C:\Users\Administrator\AppData\Roaming\npm\node_modules\angular-cli\bin\ng)sans succès également.
2016-06-23_14h56_48

Qu'est-ce que je fais mal?

Cristian Muscalu
la source
6
Vous voulez sûrement le répertoire ( C:\Users\Administrator\AppData\Roaming\npm\node_modules\angular-cli\bin) dans %PATH%?
Biffen
Je ne suis pas sûr. Je l'ai essayé juste pour voir si «ng» fonctionne, mais ce n'est pas le cas.
Cristian Muscalu
Avez-vous ouvert une nouvelle invite de commande? Les variables d'environnement ne seront pas propagées à celles en cours d'exécution. Essayez echo %PATH%de voir que c'est correct.
Biffen
2
Eh bien, vérifiez qu'il %PATH%contient (c'est une liste séparée par des points-virgules) le répertoire qui contient ng.exe.
Biffen
2
j'ai trouvé la solution à ce problème stackoverflow.com/a/46874999/7968316
Rixwan

Réponses:

236

Pour moi ça marche avec:

npm run ng <command>
Bogdana Zadic
la source
10
Connaissez-vous la raison pour laquelle il en est ainsi et comment pouvons-nous nous débarrasser de «npm run»?
Pratik Gandhi du
5
mais cela n'omet aucun paramètre supplémentaire après la construction de ng
hakuna
Pour une exécution directe via la ngcommande, vous pouvez lier votre @angular/cliavec npm en utilisant npm link @angular/cli
Asad Shakeel
3
@PratikGandhi En effet, cmdne peut exécuter que les commandes spécifiées dans les variables d'environnement (dans ce cas npm). Ce chemin est ajouté lorsque vous installez le nœud dans votre système globalement. Lorsque vous ajoutez le chemin C:\Users\<user>\AppData\Roaming\npm\node_modules\@angular\cli\bin\ngd' accès complet aux variables d'environnement et réexécutez cmd, il acceptera ngcomme une commande. Vous pouvez également utiliser l'invite de commandes Node.js pour exécuter les commandes ng.
MM
218

J'ai résolu ce problème conformément à la figure:

courir en cmd

 npm install -g @angular/cli

puis

(ouvert dans Windows 10) Panneau de configuration \ Tous les éléments du panneau de configuration \ Système ou conformément à la figure

étape 1:

entrez la description de l'image ici

étape 2 :

entrez la description de l'image ici

étape 3:

entrez la description de l'image ici

étape 4:

entrez la description de l'image ici

étape5:

entrez la description de l'image ici

Et à la fin, l'ordinateur doit être redémarré.

BehrouzMoslem
la source
vous avez obtenu les commentaires angulaires et NG (en rés) dans le mauvais sens;)
Shaheen K
1
dans mon cas, je n'avais qu'à ajouter le chemin vers npm.
Kieran
41
Vous n'avez pas à redémarrer l'ordinateur à la fin, il vous suffit de redémarrer l'invite de commande.
Aravindh Gopi,
Ou vous pouvez vous déconnecter ("déconnexion" en langue win 10), puis vous reconnecter. Cela "réinitialisera" toutes vos variables d'environnement. Mais ce sont de petites pommes de terre ... à côté de cette réponse réelle. Upvote. Merci.
granadaCoder du
C:\Users\<YOURUSER>\AppData\Roaming\npmn'est pas un chemin angulaire mais un chemin npm, donc si vous ajoutez ce chemin à vos variables d'environnement, alors tous les paquets npm que vous installez avec l'indicateur -g seront disponibles sur votre ligne de commande (pas seulement ng).
PinguinoSod
114

L'ajout C:\Users\DELL\AppData\Roaming\npmà la variable système a Pathfonctionné pour moi. Veuillez trouver votre chemin de fichier approprié vers 'npm'

Vérifiez également si vous avez ajouté votre angular-cli\binchemin d'accès à la variable de chemin d'accès.

sabari
la source
5
Essayez également de redémarrer le PC. Après que la commande ng a commencé à fonctionner.
Mateusz Migała
1
Recherchez le chemin du fichier "ng.cmd". mettez à jour la variable d'environnement PATH avec le chemin.
Jnana
4
Cela a fonctionné pour moi sur Windows 10, mais j'ai ajouté "% USERPROFILE% \ AppData \ Roaming \ npm" pour couvrir plusieurs utilisateurs potentiels tirant de leurs propres profils utilisateur.
Tim McElwee
2
%AppData%\npmva s'étendre aux valeurs de @TimMcElwee et @ sabari, et est indépendant de l'utilisateur et de la machine.
ps2goat
l'ajout du dossier \ npm aux variables de chemin l'a corrigé pour moi
Kaspazza
68

J'utilise WIN 10, il suffit de le résoudre pour ce problème. Tapez le code ci-dessous en cmd:

config npm obtenir le préfixe

et copiez et collez le chemin que vous obtenez depuis le haut dans les variables d'environnement de votre ordinateur -> boîte de variables utilisateur -> chemin -> édition - C: \ Program Files \ nodejs \ node_global , votre chemin peut différer.

Cliquez sur Ok et rouvrez votre fenêtre cmd, tapez la version ng , alors ça marche! À votre santé!

YuSolution
la source
Fonctionne comme un charme! Le shell MySQL a remplacé ma variable de chemin utilisateur. :(
Hamza Khanzada
40

Ouvrez simplement votre invite de commande (exécutez en tant qu'administrateur). Assurez node --v- vous que la version est 6.9.0 ou supérieure et npm --v3.0.0 r supérieure.

Après cela, exécutez la commande suivante:

npm install -g @angular/cli

Une fois angulaire installé. vous pouvez voir une entrée de cli angulaire sur le chemin

C:\Users\Dell\AppData\Roaming\npm\node_modules\@angular

Essayez ensuite l'aide. Ça va marcher.

user1057641
la source
28

1) Entrez la commande ci-dessous à l'invite de commande

npm install -g @angular/cli

2) Assurez-vous que C: \ Users \ _username_ \ AppData \ Roaming \ npm ce chemin n'est pas masqué .

3) Ajoutez C: \ Users \ _username_ \ AppData \ Roaming \ npm et

C: \ Users \ _username_ \ AppData \ Roaming \ npm \ node_modules @ angular \ cli \ bin vers les deux chemins de variables d'environnement .

4) Ouvrez une nouvelle invite de commande et tapez ng help . Ça va marcher.

Shrirang
la source
Je ne pouvais pas voir le répertoire AppData avant d'avoir obtenu l'autorisation d'administrateur pour ma machine Windows 10, puis j'ai ouvert une fenêtre de commande en cliquant sur Exécuter en tant qu'administrateur.
Robert Stevens,
J'avais ce dossier caché mais ça fonctionnait toujours. C'est la meilleure solution. En tant que FYI si nécessaire: vous séparez les chemins avec un point-virgule pour qu'il devienne: <what's already there>;C:\Users\_username_\AppData\Roaming\npm;C:\Users\_username_\AppData\Roaming\npm \node_modules@angular\cli\bin
Corné il y a
18

Avec une commande

npm install -g @angular/cli@latest

Cela fonctionne bien, je suis en mesure d'exécuter la commande ng maintenant.

Yain Patel
la source
16

J'ai suivi les étapes ci-dessous pour la résolution de ce problème dans Windows 10 :

  1. Assurez-vous d'abord que vous avez installé Angular CLI. Vous pouvez utiliser ci-dessous pour l'installer.

npm install -g @ angular / cli @ latest

  1. Assurez-vous que AppData est visible et accédez au chemin ci-dessous.

C: \ Users \ rkota \ AppData \ Roaming \ npm

Le même chemin peut être trouvé en exécutant ci-dessous également:

config npm obtenir le préfixe

  1. Ajoutez le chemin ci-dessus, c'est-à-dire "C: \ Users \ rkota \ AppData \ Roaming \ npm" dans la variable d'environnement PATH et assurez-vous qu'il a été ajouté en exécutant path dans l'invite de commande.
  2. Fermez l'invite de commande et essayez maintenant d'exécuter ci-dessous:

ng --version

vous pourrez voir la version CLI.

Ravi Shankar Kota
la source
14

Je l'ai résolu il y a quelques jours, après avoir eu le même problème avec d'autres modules globaux, en ajoutant à:

Tables d'environnement -> Variables système -> Chemin:

C: \ Users \ Administrator \ AppData \ Roaming \ npm \ node_modules \ angular-cli \ bin; C: \ Program Files \ MongoDB \ Server \ 3.2 \ bin

Notez qu'il ne doit pas y avoir d'espace après;

Cela s'est avéré être mon problème.

Cristian Muscalu
la source
Recherchez le chemin d'accès au fichier ng.cmd. Mettez à jour la valeur PATH de la variable d'environnement avec le même chemin d'accès. Redémarrez la console de ligne de commande et vous avez terminé.
Jnana
3
La réponse ci-dessous "npm config get prefix" est la bonne approche
Peter Morris
1
à moins que vous ne voyiez le ngdans le dossier est ng.cmdou Windows Command Scriptsous la colonne Type, sinon ce ng dans cela angular-cli\binne fonctionne pas.
Jeb50
cette réponse doit être mise à jour, car maintenant le chemin dans CLI v7.0 + est C: \ Users \ UserName \ AppData \ Roaming \ npm
Hemendra
12

Au lieu d'utiliser l'invite de commandes intégrée, commencez à utiliser la version installée de NodeJS de l'invite de commandes. Ensuite, cela fonctionnera parfaitement sans aucun problème.entrez la description de l'image ici

youi
la source
2
L'exécution where ngau sein de cette console peut aider à découvrir ce qui ne va pas avec le chemin. Cela l'a fait pour moi, ng a été résolu dans le mauvais utilisateur AppData, exécutant ainsi une mauvaise version du cli.
Frederik.L
10

exécutez les lignes suivantes afin de résoudre le problème pour la version non trouvée et non définie de ng

désinstaller npm -g angular-cli

désinstaller npm --save-dev angular-cli

npm cache clean

npm install -g @ angular / cli @ latest

Raja Fawad
la source
9

Si vous obtenez l'erreur même après avoir suivi l'étape ci-dessus. puis essayez ci-dessous.

Puisqu'il s'agit d'un script de nœud. J'utilise l'option ci-dessous pour créer dès maintenant.

noeud C: \ Users \ Administrator \ AppData \ Roaming \ npm \ node_modules \ angular-cli \ bin \ ng version

Des liens symboliques peuvent être nécessaires. Pas de recherche plus approfondie.

Pour de plus amples recherches: définissez le chemin d'accès sur:% PATH%; C: \ Users \ Administrator \ AppData \ Roaming \ npm;

Sous Windows, le fichier npm.cmd se trouve dans le chemin ci-dessus. Si la variable d'environnement ci-dessus est définie, vous pouvez exécuter en tant que ng version ng init

Ram Kumar Dinesh
la source
7
  1. Ouvrez cmd et tapez npm install -g @angular/cli

  2. Dans les variables d'environnement, ajoutez soit dans la variable utilisateur, soit dans la variable système "Path" value =C:\Users\your-user\.npm-packages\node_modules\.bin

  3. En cmd: c:\>cd your-new-project-path

  4. ...\project-path\> ng new my-app

    ou ng all-ng-commands

sahosseini
la source
5

fermez cmd et ouvrez-le à nouveau avec le droit d'administrateur ou redémarrez votre système.

Janak Bhatta
la source
5

J'ai rencontré le même problème lorsque j'ai essayé d'installer le cli angulaire localement avec la commande

npm install @angular/cli@latest

Après cela, j'ai eu le même problème C: \ Users \ vi1kumar \ Desktop \ tus \ ANGULAR \ AngularForms> ng -v 'ng' n'est pas reconnu comme une commande interne ou externe, un programme exploitable ou un fichier de commandes

Que j'ai essayé de l'installer globalement

npm install -g @angular/cli@latest

Dans ce cas, cela a fonctionné, je me demandais s'il n'était pas possible d'installer cli globalement?

Après avoir fait des recherches, j'ai trouvé cet article très utile, j'espère qu'il aidera quelqu'un confronté à un problème similaire

Utilisation de plusieurs versions de Angular CLI

Vicky Kumar
la source
4

Celui-ci a presque fonctionné pour moi, mais j'ai dû utiliser:% USERPROFILE% \ AppData \ Roaming \ npm. Dans les variables d'environnement ... / Variables système / Chemin

Puis quand j'ai fait CMD: "ng -v" j'ai obtenu la bonne réponse pour le cli angulaire.

user2030451
la source
4

npm install -g @angular/cli aidé pour moi au lieu de npm install @angular/cli

Justin Lange
la source
4

1- Installer

$ npm install -g @angular/cli

2- Assurez-vous où votre ng.cmdest présent.

entrez la description de l'image ici

3- Ajoutez ensuite ce chemin dans les variables.

entrez la description de l'image ici

Teoman shipahi
la source
3

J'ai eu le même problème sur Windows 7, 64 bits fonctionnant avec npm v3.10.8.

  1. J'ai ajouté le chemin tel qu'il a été suggéré: (C: \ Users ..... (votre nom d'utilisateur) \ AppData \ Roaming \ npm \ node_modules \ angular-cli \ bin \ ng) et j'ai désinstallé angular-cli.
  2. Après cela, j'ai effacé le cache npm en npm cache cleansuivant les invites ici https://blogs.msdn.microsoft.com/matt-harrington/2012/02/23/how-to-fix-node-js-npm-permission-problems/ . Cela garantit qu'il n'y a pas de restes.
  3. Réinstallé angular-cli avec npm install -g angular-cliet le tour est joué.

    J'espère que cela peut être utile!
CyberMessiah
la source
3

J'avais le même problème lorsque j'ai essayé avec la syntaxe "ng new" et résolu cela simplement en mettant à jour la version existante du nœud de 5.xx à 8.xx Après une mise à jour réussie du nœud, la syntaxe a parfaitement fonctionné pour moi. Veuillez mettre à jour la version existante du nœud. Comme il est clairement mentionné dans la documentation angulaire que ces commandes nécessitent la version du nœud> = 6.9.x. Pour référence, veuillez consulter https://angular.io/guide/quickstart . Il indique clairement "Vérifiez que vous exécutez au moins le nœud 6.9.x et npm 3.xx en exécutant le nœud -v et npm -v dans une fenêtre de terminal / console. Les versions plus anciennes produisent des erreurs, mais les versions plus récentes sont correctes".

Durba Banerjee
la source
3

J'ai rencontré le même problème sur x86, Windows 7;

  • désinstallé @ angular / cli
  • réinstallé @ angular / cli
  • variables environnementales vérifiées et vérifiées (aucun problème là-bas) ...
  • Toujours le même problème:

La solution était le fichier .npmrc sur C: \ Users {USERNAME} ... changez le préfixe pour qu'il affiche "prefix = $ {APPDATA} \ npm" ... Merci à ce site Web pour son aide à le résoudre

Akber Iqbal
la source
3

J'ai résolu en ajoutant -% AppData% \ npm \ node_modules @ angular \ cli \ bin \ path à mon chemin de variables d'environnement

sajid irfan
la source
2

Dans mon cas, j'ai fait les étapes ci-dessous.

Tous les programmes -> Node JS-> Faites un clic droit sur l'invite de commande Node.js et sélectionnez les propriétés et dans la chaîne cible à la fin de la copie ci-dessous

/k "C:\Program Files\nodejs\nodevars.bat"

J'ai lancé Visual Studio Code et ouvert le fichier ci-dessous

C:\Users\gochinta\AppData\Roaming\Code\User\settings.json et a donné ci-dessous

// Place your settings in this file to overwrite the default settings
{
  "terminal.integrated.shellArgs.windows": 
  ["/k", "C:\\Program Files\\nodejs\\nodevars.bat"]

}

Maintenant, j'ai tapé ng -vdans ma fenêtre Visual Studio Code Terminal et cela a fonctionné.

Ziggler
la source
2

Je suis confronté au même problème et il est résolu. À ma fin, j'installe le nœud et la CLI en utilisant un autre profil utilisateur et maintenant j'exécute la commande ng à partir d'une autre connexion utilisateur. Étant donné que le nœud et le cli installés à l'aide d'un autre nœud de connexion utilisateur ne trouvent rien sur C:\Users\&lt;user name&gt;\AppData\Roamingce chemin et c'est pourquoi je reçois cette erreur.

J'exécute la npm install -g @angular/clicommande et redémarre ma machine. Tout fonctionne bien.

Nitin Jain
la source
2

Dans le futur. Applicable à la machine Windows 8.1. Exécutez les commandes suivantes

npm install -g @angular/cli

Déconnectez-vous ou redémarrez votre machine.

Cela devrait ajouter le chemin env requis, plutôt que de le faire manuellement.

Krishneil
la source
2

J'ai également essayé de jouer avec cmd en définissant le chemin de variable d'environnement & etc, mais la réponse simple est d'utiliser l'invite de commande nodejs.

Vous n'avez donc pas besoin de définir le chemin des variables d'environnement ou quoi que ce soit. Lorsque vous insérez nodejs, il donnera son invite de commande, en utilisant celle-ci, nous "ng", sans aucun paramètre.

Bhaurao Birajdar
la source
2

Étant donné que cette question est toujours posée encore et encore un an plus tard, je posterai également ma réponse ici.

L'indice (sous Windows uniquement) consiste à organiser les entrées dans la variable de chemin à droite.

Comme le wiki du NPM nous le dit :

Parce que le programme d'installation place C: \ Program Files (x86) \ nodejs avant C: \ Users \\ AppData \ Roaming \ npm sur votre PATH, il utilisera toujours la version de npm installée avec node au lieu de la version de npm que vous avez installée à l'aide npm -g install npm@<version>.

Ainsi, votre variable de chemin ressemblera à quelque chose comme:

…;C:\<path-to-node-installation>;%appdata%\npm;…

Vous avez maintenant deux possibilités:

  1. Échangez les deux entrées pour qu'elles ressemblent à
…;%appdata%\npm;C:\<path-to-node-installation>;…

Cela chargera la version npm installée avec npm (et non avec noeud) et avec la version Angular CLI installée.

  1. Si vous (pour une raison quelconque) souhaitez utiliser la version npm fournie avec le nœud, ajoutez le chemin direct à votre version globale Angualr CLI. Après cela, votre variable de chemin devrait ressembler à ceci: …;C:\Users\<username>\AppData\Roaming\npm\node_modules\@angular\cli;C:\<path-to-node-installation>;%appdata%\npm;… ou …;%appdata%\npm\node_modules\@angular\cli;C:\<path-to-node-installation>;%appdata%\npm;… pour le formulaire court.

Cela a fonctionné pour moi depuis un certain temps maintenant.

jowey
la source
1

J'ai eu le même problème de Visual Studio Code ne pouvant exécuter aucune commande ng dans son terminal intégré.

J'ai ajouté% AppData% \ npm au chemin d'accès dans Windows 10, et je n'ai pas eu à redémarrer, j'ai juste fermé et rouvert VS Code et non il le voit.

GaryP
la source
même problème que j'ai défini un nouveau chemin AppData\Roaming\npm\node_modules\@angular\cli\bin\nget cela fonctionne bien maintenant
Abdallah Abdillah
1

Installez nodejs version x32 au lieu de la version x64 (même sur une machine Windows 64 bits).

Nitish Kumar
la source
1

Pour moi, quelque chose n'allait pas dans la variable d'environnement PATH. J'ai supprimé tous les chemins liés à npm et ajouté au début de PATH ce dossier:

c:\Users\<your-user-name>\AppData\Roaming\npm\

Assurez-vous que vous avez ;entre les chemins.

Aller à
la source
c'est le bon, car Win7 et 10 ont tous les deux. fichier cmd ici.
Jeb50