El término 'ng' no se reconoce como el nombre de un cmdlet

104

Hoy, mientras trabajaba en una introducción básica de AngularJS, encontré un problema.

Abrí PowerShell para comenzar con el proyecto. NPM funcionó.

Pude instalar el Angular usando:

npm install -g @angular/cli

Cada vez que intentaba ejecutar ng, obtenía:

the term 'ng' is not recognized as the name of a cmdlet
Wauna
fuente
1
hágalo en el modo " Ejecutar como administrador "
Pedram Ahmadpour
Intenté todo aquí en vano. También tuve que correr npm install -g @angular/cliy luego funcionó.
Jnr
¿Es realmente AngularJS lo que está usando? En 2017 probablemente usaste Angular (sin JS).
LosManos

Respuestas:

119

La primera ruta de la variable de ruta debe ser la ruta de NPM. Al abrir el símbolo del sistema de Node.js, encontré que el comando ng funcionaba allí. Busqué en el acceso directo y descubrí que hace referencia a un comando para asegurarme de que la primera variable de ruta sea NPM. Arreglar:

  1. Haga clic con el botón derecho en Mi PC (windows)
  2. Configuración avanzada del sistema seleccionada
  3. Haga clic en "Variables de entorno"
  4. En la variable "Ruta", hizo que el PRIMER valor de la lista %AppData%\npm

Una vez que hice eso, pude cerrar powershell y volver a abrir y todo funcionó.

jonrsharpe
fuente
Después de seguir los pasos anteriores, "ng -v" funciona pero "ng build" no funciona. Está dando este error "Parece que no depende de" @ angular / core ". Esto es un error".
PSR
6
También puede omitir todo esto en muchos casos simplemente escribiendo "npm run ng ...." Npm todavía funciona normalmente en powershell sin alteraciones y 'npm run' le permitirá usar comandos ng.
SmoveBB
Funcionó para mí. Solo quiero entender por qué recibimos este error después de instalar nodejs que ya está en la ruta.
Saroj Kumar Sahoo
Hola, no funcionó para mí ... si alguien puede ayudarme en skype o zoom, por favor ... lo estoy intentando desde un par de días pero no puedo resolverlo ... Por favor
Laxminarayan Charan
1
@LaxminarayanCharan "si alguien puede ayudarme en skype o zoom" no es una solicitud apropiada para SO. Si tiene un problema específico al aplicar la información que ya está disponible en este sitio, haga una nueva pregunta con un ejemplo mínimo reproducible .
jonrsharpe
82

Primero configure Node.js, luego vaya a la carpeta de su proyecto con el símbolo del sistema como D: \ proyecto y luego ejecute este comando:

npm install -g @angular/cli

Ahora ejecute el comando ng. Esto funciona para mí.

Ahmadreza Farrokhnejad
fuente
5
Las -gsiglas de global. Si está instalando globalmente, no debería importar si está en D: \ vs D: \ project cuando ejecute este comando. Una advertencia es que esto puede no ser lo que desea si desea usar diferentes versiones de angular / cli para diferentes proyectos.
Mattliu
esta es ciertamente la respuesta correcta si angular / cli no está instalado
caras
20

En las "Variables de entorno"

En la sección "Variables del sistema"

En la variable "Ruta" y antes "C:\Program Files (x86)\nodejs\"agregue =>"%AppData%\npm"

A. Morel
fuente
1
Exactamente lo que necesitaba .. Muchas gracias
Md Faraz
Funcionó para mí Gracias. Tenía un .npmrcarchivo prefixconfigurado como ruta de AppData.
Ananthapadmanabhan
12

Solución funcionó para mí:

Agregue una ruta a su entorno Variable

C:\Users\YourPcName\AppData\Roaming\npm

así como su carpeta bin del archivo angular [presente su propio]

C:\Users\YoutPcName\AppData\Roaming\npm\node_modules\angular-cli\bin

y luego ejecutarlo ng -v , aparecerá angular cli gui en su símbolo del sistema. Nota Después de ejecutar npm i -g @angular/cli, reinicie el símbolo del sistema y verifique si funciona; de lo contrario, limpie el caché y repita los pasos anteriores.

KRIPA SHANKAR JHA
fuente
Después de ejecutar "ng install -g @ angular / cli", debería tener que establecer AppData en la variable de ruta. Gracias, ahora puedo trabajar sin problemas.
Napster
Funciona para mí, cierra y reinicia VSCode
Hanz Cheah
7

La instalación de angular cli resolvió globalmente mi problema.

npm install -g @angular/cli
Rut Shah
fuente
5

Cambiar la política a Unrestricted funcionó para mí:

Set-ExecutionPolicy Unrestricted -Scope CurrentUser
Rayan Albouni
fuente
Gracias ... Esto es lo que prefiero sobre todas las soluciones dadas en esta consulta. Como todas las soluciones tienen sus propias consecuencias
Parth Devloper
5

Usé lo siguiente:

npm run ng serve

Me funcionó sin necesidad de establecer variables de entorno.

Tuve que instalar un mecanografiado después:

npm install typescript@">=3.4 <3.6"
Arun Surawat
fuente
exactamente lo que quería. funcionó para mí después de ejecutar npm run ng serve
Joginder Malik
3

Si el nombre de su proyecto contiene '-'. Quítelo e intente. Esto puede causar problemas al ejecutar 'ng'.

shambhu yadav
fuente
2

Abrir Editar las variables de entorno del sistema

En la variable "Ruta" y "Ruta del módulo PS" agregue "% AppData% \ npm"

Ejecute Visual Code como administrador

¡Esto funciona para mi!

AleHulk
fuente
2

Solo necesita cerrar el código de Visual Studio y reiniciar nuevamente. Pero para que el comando ng funcione en vs code, primero debe compilar el proyecto con cmd en modo administrador.

También me enfrentaba al mismo problema. Pero este método lo resolvió.

PrafulPravin
fuente
2

Todas las respuestas tratan sobre cómo solucionarlo, pero lo mejor es descargar nodeJs y dejar que el instalador agregue la variable PATH.

Las versiones 12 y 13 son demasiado nuevas, así que tuve que descargar la versión 11.15 https://nodejs.org/download/release/v11.15.0/

rfcdejong
fuente
2

Recibí este error Visual Studio Codemientras hacía ng-build. Ejecutar debajo del comando en cmd solucionó mi problema

npm install -g @angular/cli@latest
R15
fuente
1

En lugar de dar el comando "ng serve" en el terminal de código de Visual Studio, abra la ruta de la aplicación angular en el símbolo del sistema (Ejecutar como administrador).

Luego da el comando "ng serve".

Luego abra el navegador y vaya a http: // localhost: 4200 /

Esto funciona para mi.

desarrollador novato
fuente
1

Debe actualizar el nodo js a la última versión. De lo contrario, desinstale el nodo js y vuelva a instalarlo.

Deepa
fuente
1

Este script de PowerShell funcionó para agregar la configuración correcta a mi "Ruta" de la variable de entorno (como una configuración por usuario). Agrega:% AppData% \ npm ... y luego reinicia la línea de comando que usa "ng"

   $existingPath = [System.Environment]::GetEnvironmentVariable("Path","User")      
   write-host "existing PATH variable is $existingPath"                                          
   $newPath = "%AppData%\npm;$existingPath"                                          
   write-host "new      PATH will be     $newPath"                                               

   # update here                                                                                      
   [System.Environment]::SetEnvironmentVariable("Path", $newPath, "User")           

   $finalPath = [System.Environment]::GetEnvironmentVariable("Path","User")         
   write-host "final    PATH variable is $finalPath"                                             
DavB.cs
fuente
Funciona como se describe.
koosk
1

Lo resolví siguiendo los pasos a continuación

1.Haga clic con el botón derecho en el símbolo del sistema 2.Ejecutar como administrador 3.Tipo npm install -g @ angular / cli

vidhya c
fuente
1
no debería instalar paquetes npm a nivel mundial
Tarick Welling
@TarickWelling, proporcione un argumento de apoyo para su declaración.
Jacob-Jan Mosselman
Entonces, ¿por qué existe -g? ¿Y cómo se supone que obtendrás herramientas CLI sin -g?
tpartee
1

1) Se hizo clic con el botón derecho en Mi computadora (Windows) 2) Se seleccionó la configuración avanzada del sistema 3) Se hizo clic en "Variables de entorno" 4) En la variable "Ruta", se hizo el PRIMER valor en la lista% AppData% \ npm

Inicialmente : C: \ Archivos de programa \ Microsoft MPI \ Bin \;% SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Archivos de programa \ TortoiseSVN \ bin;

Después de agregar la ruta : C: \ Archivos de programa \ Microsoft MPI \ Bin \; % AppData% \ npm;% SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Archivos de programa \ TortoiseSVN \ bin;

Una cosa más que puede intentar, si el error sigue apareciendo, como se muestra a continuación 1) vaya a la ubicación del proyecto a través del símbolo del sistema: C: \ Users \ brijeshray \ ParentChild> 2) Reinstale o actualice el angular existente como: npm install -g @ angular / cli @último

3) Vaya a la computadora o PC -> Propiedades -> Configuración avanzada del sistema -> Variable de entorno -> agregue una ruta debajo de "Variable de usuario" (si la 'Ruta' no está allí) ==> C: \ Users \ brijeshray \ AppData \ Roaming \ npm -> guárdelo y reinicie el código visualingrese la descripción de la imagen aquí

Brijesh Ray
fuente
1

Solución: la ejecución de scripts está deshabilitada en este sistema

Abrir Powershell

    Set-ExecutionPolicy RemoteSigned
    UNA

(A: SI A TODOS)

¡Hecho!

HaiNM
fuente
1

Por VSCode Terminal Primera abrir cmde instalar angular-clitan global

npm install -g @angular/cli

Luego actualice sus Variables de entorno siguiendo este paso

  1. win + s // esto abrirá el cuadro de búsqueda
  2. Tipo Editar variables de entorno
  3. Variables de entorno abierto
  4. Agregar %AppData%\npmadentroPATH
  5. Haga clic OKy cierre.

Ahora puede reiniciar su VSCodey funcionará como lo haría normalmente.

Kirubel
fuente
0

Estaba usando npm (5.5.1) actualizándolo a la última versión y resolvió mi problema.

Nofi
fuente
0

También puede asegurarse de ejecutar el símbolo del sistema, o cualquier terminal que use, como administrador. Estoy usando Visual Studio Code y el ng servecomando me da ese error exacto cuando no ejecuto VS Code como administrador.

dvlsc
fuente
0

Ejecute Powershell o el símbolo del sistema no como administrador.

dustydojo
fuente
0

Después de cambiar la ruta, debe reiniciar PowerShell. No necesitas reiniciar tu computadora.

Steve Scott
fuente
0

¡El problema NO es la instalación del NPM ni la ruta! Si desea utilizar el comando "ng", debe instalar angular-cli. ejecutando el siguiente comando

npm install -g @angular/cli

https://cli.angular.io/

Suma Mandava
fuente
0

Basado en las respuestas anteriores, aquí está la consolidación.

  1. Ejecuta el comando npm install -g @angular/cli@project_version
  2. Agregue las siguientes rutas a sus variables de entorno -> Variables del sistema -> Ruta (para la cual se requiere acceso de administrador) .

    C: \ Users \ YourPcAccountName \ AppData \ Roaming \ npm C: \ Users \ YoutPcAccountName \ AppData \ Roaming \ npm \ node_modules \ angular-cli \ bin Asegúrese de que el primer valor aparece como %AppData%\npm

  3. Vuelva a abrir el símbolo del sistema desde la carpeta de su proyecto y ejecútelo ng serve.
Sasikumar
fuente
0

Ejecuté el comando 'ng serve' en el símbolo del sistema. Compiló el proyecto con éxito. Luego, cualquier cambio que se guarde en VS Code, se actualiza automáticamente en el navegador.

PD: He instalado angular a nivel mundial.

Rohit Parab
fuente
0

También puede ejecutar el siguiente comando para resolver, npm install -g @ angular / cli

Brijesh Ray
fuente
0

Asegúrese también de que la carpeta node_modules también existe en el directorio del proyecto. Si no está allí, obtendrá un problema similar. así que ejecute npm install también.

Sin nombre
fuente
0

Aunque se hayan dado las respuestas correctas. Pero todos estos no funcionaron para mí porque:

  • Mi nombre de usuario no tenía privilegios de administrador y no pude actualizar la variable de entorno como se sugiere en las respuestas.

Entonces, para todos ustedes que enfrentan el mismo problema que yo, esto es lo que hice:

En vez de ng serve

Copié y pegué la ruta de ubicación completa de ngla siguiente manera y funcionó. Entonces el ng servecomando se convirtió en:

C:\Users\MyUserName\AppData\Roaming\npm\ng.cmd serve

SU7
fuente