ng no se reconoce como un comando interno o externo

201

Ejecutando Windows 7 Professional 32bit.

Traté de ejecutar npm install -g angular-clitanto bajo normal o admin 2016-06-23_14h46_40

También intenté agregarlo a las Variables de Medio Ambiente en RUTA: (C:\Users\Administrator\AppData\Roaming\npm\node_modules\angular-cli\bin\ng)sin éxito también.
2016-06-23_14h56_48

¿Qué estoy haciendo mal?

Cristian Muscalu
fuente
66
¿Seguramente quieres el directorio ( C:\Users\Administrator\AppData\Roaming\npm\node_modules\angular-cli\bin) en %PATH%?
Biffen
No estoy seguro. Lo intenté solo para ver si 'ng' funciona, pero no funciona.
Cristian Muscalu
¿Abriste un nuevo símbolo del sistema? Las variables de entorno no se propagarán a las que se ejecutan. Intenta echo %PATH%ver que es correcto.
Biffen
2
Bueno, compruebe que %PATH%contiene (es una lista separada por punto y coma) el directorio que contiene ng.exe.
Biffen
2
Encontré la solución para ese problema stackoverflow.com/a/46874999/7968316
Rixwan

Respuestas:

236

Para mí funciona con:

npm run ng <command>
Bogdana Zadic
fuente
10
¿Sabes la razón por la que es así y cómo podemos deshacernos de 'npm run'?
Pratik Gandhi el
55
pero esto omite cualquier parámetro adicional después de ng build
hakuna
Para la ejecución directa a través del ngcomando, puede vincular su @angular/clicon npm usando npm link @angular/cli
Asad Shakeel
3
@PratikGandhi Esto se debe a cmdque solo puede ejecutar comandos especificados en las variables de entorno (en este caso npm). Esta ruta se agrega cuando instala el nodo en su sistema globalmente. Cuando agrega la ruta completa C:\Users\<user>\AppData\Roaming\npm\node_modules\@angular\cli\bin\nga las variables de entorno y vuelve a ejecutar cmd, se aceptará ngcomo un comando. Alternativamente, también puede usar el símbolo del sistema Node.js para ejecutar comandos ng.
MM
218

Resolví este problema de acuerdo con la figura:

correr en cmd

 npm install -g @angular/cli

y entonces

(abrir en Windows 10) Panel de control \ Todos los elementos del panel de control \ Sistema o de acuerdo con la figura

paso 1:

ingrese la descripción de la imagen aquí

paso 2 :

ingrese la descripción de la imagen aquí

paso 3:

ingrese la descripción de la imagen aquí

paso 4:

ingrese la descripción de la imagen aquí

paso5:

ingrese la descripción de la imagen aquí

Y al final, la computadora debe reiniciarse.

BehrouzMoslem
fuente
recibiste los comentarios Angular y NG (en res) al revés;)
Shaheen K
1
en mi caso solo necesitaba agregar la ruta a npm.
Kieran
41
No tiene que reiniciar la computadora al final, solo tiene que reiniciar el símbolo del sistema.
Aravindh Gopi
O puede cerrar sesión ("cerrar sesión" en idioma win 10) y luego volver a iniciar sesión. Eso "restablecerá" todas sus variables de entorno. Pero eso es papas pequeñas ... al lado de esta respuesta real. Voto a favor. Gracias.
granadaCoder
C:\Users\<YOURUSER>\AppData\Roaming\npmno es una ruta angular sino una ruta npm, por lo que si agrega esta ruta a sus variables ambientales, todos los paquetes npm que instale con el indicador -g estarán disponibles en su línea de comando (no solo ng).
PinguinoSod
114

Agregar C:\Users\DELL\AppData\Roaming\npma la variable del sistema Pathfuncionó para mí. Encuentre la ruta de archivo adecuada a 'npm'

Además, verifique si ha agregado su angular-cli\binruta a la variable de ruta.

sabari
fuente
55
También intente reiniciar la PC. Después de que el comando ng comenzó a funcionar.
Mateusz Migała
1
Busque la ruta del archivo "ng.cmd". Actualice la variable de entorno RUTA con la ruta.
Jnana
44
Esto funcionó para mí en Windows 10, pero agregué "% USERPROFILE% \ AppData \ Roaming \ npm" para cubrir a múltiples usuarios potenciales que extraen de sus propios perfiles de usuario.
Tim McElwee
2
%AppData%\npmse expandirá a los valores @TimMcElwee y @ sabari, y son independientes del usuario y la máquina.
ps2goat
agregar la carpeta \ npm a las variables de ruta lo arregló para mí
Kaspazza
68

Estoy usando WIN 10, solo resuélvelo para este problema. Escriba el siguiente código en cmd:

npm config obtener prefijo

y copie y pegue la ruta desde la parte superior en las variables de entorno de su computadora -> cuadro de variables de usuario -> ruta -> editar - C: \ Archivos de programa \ nodejs \ node_global , su ruta puede ser diferente.

Haga clic en Aceptar y vuelva a abrir su ventana de cmd, escriba ng version , ¡entonces funciona! ¡Salud!

YuSolution
fuente
¡Funciona de maravilla! MySQL shell anuló mi variable de ruta de usuario .. :(
Hamza Khanzada
40

Simplemente abra su símbolo del sistema (ejecutar como administrador). Asegúrese de que node --vsea ​​6.9.0 o superior ynpm --v 3.0.0 r superior.

Después de eso ejecuta el siguiente comando:

npm install -g @angular/cli

Una vez angular está instalado. puedes ver una entrada de cli angular en el camino

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

Entonces intente ng ayuda. Funcionará.

usuario1057641
fuente
27

1) Ingrese el siguiente comando en el símbolo del sistema

npm install -g @angular/cli

2) Asegúrese de que C: \ Users \ _username_ \ AppData \ Roaming \ npm esta ruta no esté oculta .

3) Agregue C: \ Users \ _username_ \ AppData \ Roaming \ npm y

C: \ Users \ _username_ \ AppData \ Roaming \ npm \ node_modules @ angular \ cli \ bin a ambas rutas de entorno .

4) Abra el nuevo símbolo del sistema y escriba ng help . Funcionará.

Shrirang
fuente
No pude ver el directorio AppData hasta que obtuve el permiso de administrador para mi máquina con Windows 10 y luego abrí una ventana de comandos haciendo clic en Ejecutar como administrador.
Robert Stevens
18

Con un comando

npm install -g @angular/cli@latest

Funciona bien, ahora puedo ejecutar el comando ng.

Yain Patel
fuente
16

Seguí los pasos a continuación para la resolución de este problema en Windows 10 :

  1. Primero asegúrese de haber instalado CLI angular. Puede usar a continuación para instalar lo mismo.

npm install -g @ angular / cli @ latest

  1. Asegúrese de que AppData esté visible y navegue a la ruta a continuación.

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

La misma ruta se puede encontrar ejecutando a continuación también:

npm config obtener prefijo

  1. Agregue la ruta anterior, es decir, "C: \ Users \ rkota \ AppData \ Roaming \ npm" en la variable de entorno PATH y asegúrese de que se agregó ejecutando la ruta en el símbolo del sistema.
  2. Cierre el símbolo del sistema e intente ejecutar a continuación:

ng --version

Podrá ver la versión CLI.

Ravi Shankar Kota
fuente
14

Lo resolví hace unos días, después de tener el mismo problema con otros módulos globales, agregando a:

Tablas de entorno -> Variables del sistema -> Ruta:

C: \ Users \ Administrator \ AppData \ Roaming \ npm \ node_modules \ angular-cli \ bin; C: \ Archivos de programa \ MongoDB \ Server \ 3.2 \ bin

Tenga en cuenta que no debe tener espacios después;

Ese resultó ser mi problema.

Cristian Muscalu
fuente
Busque la ruta del archivo ng.cmd. Actualice el valor de la RUTA de la variable de entorno con la misma ruta. Reinicie la consola de línea de comandos y ya está.
Jnana
3
La respuesta a continuación "npm config get prefix" es el enfoque correcto
Peter Morris
1
a menos que vea el ngde la carpeta es ng.cmdo Windows Command Scriptdebajo de la columna Tipo, de lo contrario este ng en este angular-cli\binno funciona.
Jeb50
esta respuesta debe actualizarse, ya que ahora la ruta en CLI v7.0 + es C: \ Users \ UserName \ AppData \ Roaming \ npm
Hemendra
12

En lugar de usar el símbolo del sistema incorporado, mejor comience a usar la versión instalada de NodeJS del símbolo del sistema. Entonces funcionará perfectamente sin ningún problema.ingrese la descripción de la imagen aquí

Tú y Yo
fuente
2
Ejecutar where ngdentro de esa consola podría ayudar a descubrir qué hay de malo en la ruta. Eso lo hizo por mí, ng se resolvió en el AppData de usuario incorrecto, por lo tanto, se ejecutó una versión incorrecta del cli.
Frederik.L
10

ejecute las siguientes líneas para resolver el problema tanto para la versión no encontrada como para la indefinida de ng

npm desinstalar -g angular-cli

Desinstalación de npm --save-dev angular-cli

npm cache clean

npm install -g @ angular / cli @ latest

Raja Fawad
fuente
9

Si obtiene el error incluso después de seguir el paso anterior. luego intente a continuación.

Dado que es un script de nodo. Estoy usando la siguiente opción para crear a partir de ahora.

nodo C: \ Users \ Administrator \ AppData \ Roaming \ npm \ node_modules \ angular-cli \ bin \ ng versión

Puede ser que se requieran enlaces simbólicos. No investigado más.

En investigaciones adicionales: establezca la ruta como:% PATH%; C: \ Users \ Administrator \ AppData \ Roaming \ npm;

En Windows, el archivo npm.cmd está en la ruta anterior. Si se establece la variable de entorno anterior, puede ejecutar como ng versión ng init

Ram Kumar Dinesh
fuente
7
  1. Abra cmd y escriba npm install -g @angular/cli

  2. En las variables de entorno, agregue ya sea en la variable de usuario o en el valor "Ruta" de la variable del sistema =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

    o ng all-ng-commands

sahosseini
fuente
5

cierre cmd y ábralo nuevamente con el derecho de administrador o reinicie su sistema.

Janak Bhatta
fuente
5

Enfrenté el mismo problema cuando intenté instalar angular cli localmente con el comando

npm install @angular/cli@latest

Después de eso, tuve el mismo problema C: \ Users \ vi1kumar \ Desktop \ tus \ ANGULAR \ AngularForms> ng -v 'ng' no se reconoce como un comando interno o externo, un programa operable o un archivo por lotes

Entonces intenté instalarlo globalmente

npm install -g @angular/cli@latest

En este caso, funcionó, me preguntaba si no es posible instalar cli a nivel mundial.

Después de investigar un poco, encontré este artículo muy útil, espero que ayude a alguien que se enfrenta a un problema similar

Trabajando con múltiples versiones de CLI angular

Vicky Kumar
fuente
4

Este casi funcionó para mí, pero tuve que usar:% USERPROFILE% \ AppData \ Roaming \ npm. En Variables de entorno ... / Variables del sistema / Ruta

Luego, cuando hice CMD: "ng -v" obtuve la respuesta correcta para cli angular.

usuario2030451
fuente
4

npm install -g @angular/cli me ayudó en lugar de npm install @angular/cli

Justin Lange
fuente
4

1- Instalar

$ npm install -g @angular/cli

2- Asegúrate de dónde ng.cmdestá tu presente.

ingrese la descripción de la imagen aquí

3- Luego agrega esta ruta a las variables.

ingrese la descripción de la imagen aquí

Teoman shipahi
fuente
3

Tuve el mismo problema en Windows 7, 64 bits ejecutándose con npm v3.10.8.

  1. Agregué la ruta como se sugirió: (C: \ Users ..... (su nombre de usuario) \ AppData \ Roaming \ npm \ node_modules \ angular-cli \ bin \ ng) y desinstalé angular-cli.
  2. Después de esto, borré el caché npm npm cache cleancomo se me indica aquí https://blogs.msdn.microsoft.com/matt-harrington/2012/02/23/how-to-fix-node-js-npm-permission-problems/ . Esto garantiza que no hay restos.
  3. Reinstalado angular-cli con npm install -g angular-cliy voila.

    Espero que pueda ser útil!
CyberMessiah
fuente
3

Tuve el mismo problema cuando intenté con la sintaxis "ng new" y resolví eso simplemente actualizando la versión del nodo existente de 5.xx a 8.xx Después de la actualización exitosa del nodo, la sintaxis funcionó perfectamente para mí. Actualice la versión existente del nodo. Como se menciona claramente en la documentación angular, estos comandos requieren la versión del nodo> = 6.9.x. Para referencia, consulte https://angular.io/guide/quickstart . Establece claramente "Verifique que esté ejecutando al menos el nodo 6.9.xy npm 3.xx ejecutando el nodo -v y npm -v en una ventana de terminal / consola. Las versiones anteriores producen errores, pero las versiones más nuevas están bien".

Durba Banerjee
fuente
3

Me enfrenté al mismo problema en x86, Windows 7;

  • desinstalado @ angular / cli
  • reinstalado @ angular / cli
  • variables ambientales verificadas y verificadas (sin problemas) ...
  • Sigue siendo el mismo problema:

La solución fue el archivo .npmrc en C: \ Users {USERNAME} ... cambie el prefijo para que se lea "prefix = $ {APPDATA} \ npm" ... Gracias a este sitio web por su ayuda para resolverlo

Akber Iqbal
fuente
3

Resolví agregando -% AppData% \ npm \ node_modules @ angular \ cli \ bin \ path a mi ruta de variables de entorno

sajid irfan
fuente
2

En mi caso hice los siguientes pasos.

Todos los programas -> Nodo JS-> Haga clic derecho en el símbolo del sistema Node.js y seleccione las propiedades y de la cadena de destino en la copia final a continuación

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

Lancé Visual Studio Code y abrí el archivo a continuación

C:\Users\gochinta\AppData\Roaming\Code\User\settings.json y dio abajo

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

}

Ahora escribí ng -ven mi ventana de Visual Studio Code Terminal y funcionó.

Ziggler
fuente
2

Estoy enfrentando el mismo problema y se resuelve. El motivo final es que instalo el nodo y la CLI usando otro perfil de usuario y ahora estoy ejecutando el comando ng desde el inicio de sesión de otro usuario. Dado que el nodo y el cli instalados utilizando otro nodo de inicio de sesión de usuario no encuentra nada enC:\Users\&lt;user name&gt;\AppData\Roaming esta ruta y es por eso que recibo este error.

Ejecuto el npm install -g @angular/clicomando y reinicio mi máquina. Todo está funcionando bien.

Nitin Jain
fuente
2

Algún día en el futuro. Aplicable a la máquina con Windows 8.1. Ejecute los siguientes comandos

npm install -g @angular/cli

Cierre sesión o reinicie su máquina.

Esto debería agregar la ruta de acceso requerida, en lugar de hacerlo manualmente.

Krishneil
fuente
2

También intenté jugar con cmd configurando la ruta de acceso variable de entorno, etc., pero la respuesta simple es usar el símbolo del sistema nodejs.

Por lo tanto, no es necesario establecer una ruta variable de entorno ni nada. Cuando insaltaste nodejs, te dará el símbolo del sistema, al usarlo, usas el comando "ng", sin ninguna configuración.

Bhaurao Birajdar
fuente
2

Dado que esta pregunta todavía se hace una y otra vez un año después, publicaré mi respuesta aquí también.

La clave (solo en Windows) es organizar las entradas en la variable de ruta a la derecha.

Como nos dice el wiki de NPM :

Debido a que el instalador coloca C: \ Archivos de programa (x86) \ nodejs antes que C: \ Users \\ AppData \ Roaming \ npm en su RUTA, siempre usará la versión de npm instalada con el nodo en lugar de la versión de npm que instaló usando npm -g install npm@<version>.

Entonces su variable de ruta se verá más o menos así:

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

Ahora tienes dos posibilidades:

  1. Cambia las dos entradas para que se vea como
…;%appdata%\npm;C:\<path-to-node-installation>;…

Esto cargará la versión npm instalada con npm (y no con el nodo) y con la versión instalada de Angular CLI.

  1. Si (por cualquier razón) le gusta usar la versión npm incluida con el nodo, agregue la ruta directa a su versión global de Angualr CLI. Después de esto, su variable de ruta debería verse así: …;C:\Users\<username>\AppData\Roaming\npm\node_modules\@angular\cli;C:\<path-to-node-installation>;%appdata%\npm;… o …;%appdata%\npm\node_modules\@angular\cli;C:\<path-to-node-installation>;%appdata%\npm;… para la forma abreviada.

Esto funcionó para mí desde hace un tiempo.

jowey
fuente
1

Tuve el mismo problema de que Visual Studio Code no podía ejecutar ningún comando ng en su terminal integrado.

Agregué% AppData% \ npm a la ruta en Windows 10, y no tuve que reiniciar, simplemente cerré y volví a abrir VS Code y no lo ve.

GaryP
fuente
mismo problema al que establecí un nuevo camino AppData\Roaming\npm\node_modules\@angular\cli\bin\ngy ahora funciona bien
Abdallah Abdillah
1

Instale la versión x32 nodejs en lugar de la versión x64 (incluso en una máquina con Windows de 64 bits).

Nitish Kumar
fuente
1

Para mí, algo estaba mal en la variable de entorno PATH. Eliminé todas las rutas relacionadas con npm y agregué al comienzo de PATH esta carpeta:

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

Asegúrese de tener ;entre caminos.

Ir
fuente
este es el correcto, porque Win7 y 10 tienen ng. archivo cmd aquí.
Jeb50