ng: comando no encontrado al crear un nuevo proyecto usando angular-cli

112

Instalé angular-cli globalmente usando ( npm install -g angular-cli) pero cuando intento crear un proyecto usándolo ng new my-project, arrojo un error:

ng: comando no encontrado

Lego
fuente
¿Qué sucede cuando escribe ng --help? Esto también se publicó en el repositorio angular de cli. consulte este enlace
VirendraJ
Incluso cuando escribo ng --help same issue ng: command not found, en el registro de problemas se sugiere usar nvm pero me gustaría usar npm. Intenté corregir la ruta agregando un alias en mi .profile pero la configuración del proxy ya está ahí, entonces, ¿cómo puedo agregar una nueva ruta usando alias = alias ng = "Users / xxxx / npm / lib / node_modules / angular-cli / bin / ng "
lego
¿Puede publicar su versión del sistema operativo y la versión npm?
pd farhad
Usando Mac os, versión npm - 2.14.20 y versión de nodo - 4.4.0
lego
3
¿Puede verificar que está instalado a través de ...npm ls --global --depth 0
Brocco

Respuestas:

154

El tema es simple, npmno se sabeng

Simplemente ejecute npm link @angular/cliy debería funcionar sin problemas.

abhinavroy23
fuente
4
¿Puedes explicar un poco más sobre esto?
Pardeep Jain
4
@PardeepJain: el comando link básicamente crea un enlace global y luego vincula el destino de instalación global a la carpeta node_modules de su proyecto.
abhinavroy23
2
No funciona lo siento. alias ng="PATH-TO-GLOBAL/.npm-global/bin/ng" ( Location of ng file in npm folder) Esto hizo el truco.
saran3h
2
Esto funcionó. Solo tenía que correr con sudo. sudo npm link @angular/cli.
Craig
2
Puedo confirmar que esta solución está funcionando. Estoy usando Windows y puedo confirmar que esta solución funcionó para mí. Pero tenía que hacer algo adicionalmente: Ejecutar esto en powershell: "Set-ExecutionPolicy Unrestricted". Esto le permite ejecutar archivos .ps1 (powershell).
lucamuh
47

Primero, angular-cliestá obsoleto y ha sido reemplazado por @angular/cli. Entonces, si desinstala su angular-cli existente con npm uninstall angular-cli, luego reinstala el paquete con el nuevo nombre @ angular / cli, es posible que tenga algunos conflictos. Mi historia en Windows 7 es:

Había instalado angular-cli y lo había reinstalado usando npm install -g @angular/cli, pero después de hacer algunos cambios de configuración en las herramientas de línea de comandos, comencé a tener el problema de comando ng no encontrado. Pasé varias horas tratando de solucionar este problema, pero ninguno de los problemas anteriores funcionó por sí solo. Pude solucionarlo siguiendo estos pasos:

Instale Rapid Environment Editor y elimine cualquier entrada PATH para node, npm, angular-cli o @ angular / cli. Node.js estará en la ruta del sistema, las entradas npm y angulares están en la ruta del usuario.

Desinstale node.js y vuelva a instalar la versión actual (para mí, 6.11.1). Ejecute Rapid Environment Editor nuevamente y asegúrese de que node.js y npm estén en la ruta de su sistema o usuario. Desinstale cualquier versión de ng existente con:

npm uninstall -g angular-cli

npm uninstall -g @angular/cli

npm cache clean

Elimine la carpeta C: \ Users \% YOU% \ AppData \ Roaming \ npm \ node_modules \ @angular .

Reinicie, luego, finalmente, ejecute:

npm install -g @angular/cli

Luego aguanta la respiración y corre:

ng -v

Si tienes suerte, obtendrás algo de amor. Aguante la respiración de ahora en adelante cada vez que ejecute el comando ng, porque 'comando no encontrado' ha reaparecido mágicamente para mí varias veces después de que ng funcionaba bien y pensé que el problema estaba resuelto.

VanAlbert
fuente
3
sudo npm install -g @ angular / cli
Mohammad Suhel Shaikh
Lo siento, pero esto no funciona. Probé todos los comandos anteriores y usé sudo para emitirlos. Estoy en Mac OS.
píxel
Seguí este formato y funcionó bien para mí sin Rapid Environment Editor. En Windows 10 actualicé manualmente las rutas en las variables de einvronment. No había ejecutado Node o Angular en un tiempo, ya que mi último proyecto fue dotnet core. Así que tuve que reinstalar lo último de npm y node, luego restablecer mis rutas y reiniciar antes del paso de desinstalación angular / cli.
Vic
21

Asegúrese de que el directorio npm esté en su variable " Ruta ".

Si el módulo está instalado correctamente, puede funcionar si lo inicia desde su directorio de módulo de nodo global, pero su herramienta de línea de comandos no sabe dónde encontrar el ngcomando cuando no está en este directorio.

Para la variable del sistema Win , agregue algo como:

%USERPROFILE%\AppData\Roaming\npm

Y si usa una terminal (emulador) similar a Unix :

PATH=$PATH:[path_to_your_user_profile]/path-to-npm
fuma
fuente
2
Si trabaja en varios proyectos utilizando diferentes versiones de la CLI (de modo que siempre ejecutar la versión global única no es una opción), intente export PATH=$PATH:node_modules/@angular/cli/bin/ng: elegirá la versión local, siempre que ejecute el ngcomando dentro del directorio raíz de su Angular (sub) proyecto.
Janaka Bandara
@JanakaBandara ¿cómo agregaría ese comando de exportación en Win10? ¿Está bien agregarlo en el .bash_profile?
Diego Ortiz
1
Sí, suelo añadir eso a.bashrc
Janaka Bandara
17

Así es como lo hice funcionar para mí :).

1 - npm link @angular/cli

Te devolverá el camino de cli , que se verá así

/usr/local/Cellar/node/11.3.0_1/lib/node_modules/@angular/cli

Para esta parte, /11.3.0_1reemplácela con su versión de nodo respectiva que se puede encontrar escribiendonode --version

2 - cd ~/

3 - open .bash_profile

En el perfil de bash, cree un alias para cli como este,

alias ng="/usr/local/Cellar/node/11.3.0_1/lib/node_modules/@angular/cli/bin/ng"

4 - source ~/.bash_profile

Así es como .bash_profilese verá una vez que le agregue un alias .

ingrese la descripción de la imagen aquí

Ahora, al escribir ngen el terminal, se mostrará la salida que se muestra en la instantánea adjunta.

ingrese la descripción de la imagen aquí

Espero que esta respuesta sea de ayuda.

Divyanshu Rawat
fuente
1
Solo npm link @angular/clifue suficiente para mí. Gracias.
Kunal Dethe
Me alegro de que te haya ayudado :)
Divyanshu Rawat
16

la solución más fácil es ( si ya ha instalado angular ):

1 eliminar el alias ng si existe

unalias ng

2 agregue el alias correcto

alias ng="/Users/<user_name>/.npm-global/bin/ng"

3 ejecutando serve, por ejemplo, y funcionará.

Achref Gassoumi
fuente
no hay directorio .npm-global en Mac
pixel
@pixel seguro que hay un npm-global en mac, consulte aquí para obtener más detalles flaviocopes.com/npm-packages-local-global
Achref Gassoumi
1
@AchrefGassoumi Gracias, pero después de buscar en Google durante horas, ninguna ubicación que sugiera el uso de alias a una ubicación no funcionaría. La única forma de resolver esto era usar nvm como expliqué en mi respuesta a esta pregunta stackoverflow.com/questions/58138138/…
pixel
14

Para Mac ejecutar

npm install -g @angular/cli@latest

entonces corre

alias ng="/usr/local/lib/node_modules/node/lib/node_modules/@angular/cli/bin/ng"

Compruebe si funciona

ng version
Francesco
fuente
Tuve que usar el siguiente comando de alias: - alias ng = "/ usr / local / lib / node_modules / @ angular / cli / bin / ng"
cammando
11

Ejecute los siguientes comandos:

npm uninstall -g angular-cli

npm uninstall -g @angular/cli

npm cache clean

npm install -g @angular/cli@latest

alias ng="C:/Users/itaas/.npm-global/ng" (Ubicación del archivo ng en la carpeta npm)

Y finalmente ejecuta:

ng -v 

Ng-v

Gajender Singh
fuente
Con angular 7, supongo que esto ha cambiado a la versión $ ng
raikumardipak
Si bien esto resuelve un problema, crea otro. Esto siempre significará que está ejecutando NG desde el nivel global y nunca desde el nivel de la aplicación.
Itanex
No, no es así, aquí estamos redefiniendo la palabra clave ng. No hay nada como el nivel de la aplicación. es solo un archivo de configuración para el usuario actual
Gajender Singh
9

En mi caso instalar angular cli

npm install -g @angular/cli@latest

actualice Nodejs a la última versión , entonces todo debería funcionar bien.

... y si todavía tiene ese problema, tal vez porque ejecuta el comando en el shell y no en cmd (necesita ejecutar el comando en cmd), verifique esto y tal vez ayude ...

Ali Jamal
fuente
8

Resolví el mismo problema al agregar un alias como:

alias ng="path-to-your-global-node-modules/angular-cli/bin/ng"
m.zemlyanoi
fuente
Esto funcionó bien para mí, pero cada vez que ingresaba tenía que hacerlo, así que lo agregué en mi archivo .bashrc de esta manera: "nano ~ / .bashrc" y luego agregué la siguiente línea allí: alias ng = "/ usr / local / lib / node_modules / @ angular / cli / bin / ng "Estoy ejecutando ubuntu 14.04 en
vagrant
5

Para usuarios de Mac:

1) Instalar @ angular / cli globalmente

$ sudo npm install -g @angular/cli
/usr/local/Cellar/node/10.0.0/bin/ng -> /usr/local/Cellar/node/10.0.0/lib/node_modules/@angular/cli/bin/ng

2) Crea un alias para ng

alias ng="/usr/local/Cellar/node/10.0.0/lib/node_modules/@angular/cli/bin/ng"

Hecho

Roman Mahotskyi
fuente
5

Si ha instalado angular cli globalmente pero ng no funciona, simplemente haga esto:

echo -e "export PATH=$(npm prefix -g)/bin:$PATH" >> ~/.bashrc

source ~/.bashrc

ng --version
faye.babacar78
fuente
C: \> echo -e "export PATH = $ (npm prefix -g) / bin: $ PATH" >> ~ / .bashrc El sistema no puede encontrar la ruta especificada.
GregJF
Este comando es solo para usuarios de Unix / Linux. Si está en Windows, la CLI de Angular debe instalarse en modo administrador.
faye.babacar78
4

prueba esto :

alias ng = "~ / node_modules / @ angular / cli / bin / ng"

Ali
fuente
3

Asegúrese de que angular-cli esté instalado antes de intentar crear un proyecto. Los usuarios de Windows pueden instalar angular-cli sin dar permiso al comando, pero los usuarios de MAC deben usar sudo antes de ejecutar el comando de la siguiente manera:

sudo npm install -g angular-cli

Escriba una contraseña cuando se le solicite y presione Intro para continuar.

Maihan Nijat
fuente
3

El mismo problema aquí con Windows 10 x64 / NodeJS 6.9.1 / npm 3.10.9 .
Después de la instalación de Angular CLI a través de npm:

No se puede encontrar el comando 'ng'

Haz lo siguiente:

  1. Npm desinstalado con npm uninstall -g npm
  2. NodeJS desinstalado a través del panel de control / programas y funciones
  3. Descargó y ejecutó la versión 6.5.0 del instalador de NodeJS 'antiguo' de https://nodejs.org/download/release/v6.5.0/ ( node-v6.5.0-x64.msi ).
  4. Una vez completada la instalación de NodeJS 6.5.0, abra powershell y npm install -g angular-cli
  5. Tomar café rápido
  6. Una vez completada la instalación, ng funcionó bien.

HTH

Matt Kane
fuente
3

En primer lugar, compruebe si su npm y su nodo se instalaron correctamente
con los comandos npm versiony node -v.

Si son adecuados:

  1. Busque el directorio raíz global de NPM npm root -g(le dará la raíz de su tienda npm global)

  2. Desinstale el viejo angular cli con npm uninstall -g angular-cli ynpm cache clean

  3. Reinstale la nueva versión de angular npm install -g @angular/cli@latest

  4. hacer un alias de nombre ng:

alias ng="C:/ProgramData/npm/node_modules/@angular/cli/bin/ng"

alias ng="<ath-to-your-global-node-modules>/<angular cli path till ng>"
(de la respuesta el 20 de octubre de 2016 a las 15:30 @ m.zemlyanoi)

luego, para verificar, puede escribir ng -v

mayank parihar
fuente
2

si encuentra este error cuando está instalando angular-cli, -bash: ng: command not foundintente esto funciona,

Después de eliminar Node de su sistema

install NVM from here https://github.com/creationix/nvm
Install Node via NVM: nvm install stable
run npm install -g angular-cli
Raghu nandan
fuente
2

Según npm, se le angular-cliha cambiado el nombre a @angular/clique puede usar la siguiente sintaxis para instalarlo.

npm install -g @angular/cli
nPcomp
fuente
1

solución solo para el sistema operativo Windows ... Primer paso:

instalar la versión de nodejs: nodev 8.1.2

segundo paso: configure la variable de entorno como: C: \ ProgramFiles \ nodejs

Tercer paso: instalar angular use este comando: npm install -g @ angular / cli

después de la instalación, donde sea que tenga que crear un proyecto como: ng new first-project ......

raja manikkam
fuente
1

Para mí (en MacOSX) tuve que hacer:

nvm install stable
npm install -g angular-cli

Esto instaló ng en:

/usr/local/lib/node_modules/@angular/cli/bin/ng

Pero npm no puso un enlace a ng en

/usr/local/bin/

Por eso no formaba parte de% PATH y, por lo tanto, estaba disponible desde la línea de comandos, excepto a través de una dirección absoluta.

Así que utilicé lo siguiente para crear un enlace a ng:

sudo ln -sf /usr/local/lib/node_modules/\@angular/cli/bin/ng /usr/local/bin/ng
Justin.Cooke
fuente
1

corriendo

export PATH=$PATH:/c/Users/myusername/AppData/Roaming/npm 

ayudado.

Asegúrese de que su nombre de usuario real esté en la sección myusername

Fey Agape
fuente
Alguien entregue una medalla a esta persona. Funciona como un encanto.
Pramesh Bajracharya
0

Si está trabajando en Windows 7 y no puede ejecutar el comando comience con ng

por favor, actualice el angular / CLI de una vez e intente usar los comandos ng

use el siguiente comando para actualizar la última CLI

npm install -g @angular/cli@latest
Hardik Leuwa
fuente
0

Esto funciona para actualizar su paquete angular / cli // * Global (cmd como administrador)

npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli@latest
alvic
fuente
0

Primero instale '@ angular / cli' usando npm como módulo global

sudo npm install -g @angular/cli

Después de eso, intente hacer ping a la cli usando el comando 'ng' desde la ventana de la terminal.

Comando 'ng' no encontrado

Entonces necesita configurar manualmente el

ng

disponibilidad del comando. Establece este paso ejecutando el siguiente comando.

ln -s path-to-your-ng-command /bin

p.ej:

sudo ln -s / opt / node / lib / node_modules / @ angular / cli / bin / ng / bin /

Thrilok Kumar Pallaki
fuente
0

En mi caso, estaba sucediendo cuando reinicié el trabajo en una pestaña adyacente. Fue el npm el que no se estableció. Compruebe la versión de npm wither usando

npm -v

o si tienes nvm entonces

lista nvm

o

corriente nvm

Lo configuré en 8.9.1 y luego comenzó a funcionar nuevamente. Espero que ayude.

Rahul
fuente
0

Esto funcionó para mí:

  1. Vaya a C: \ Users {{users}} \ AppData \ Roaming y elimine la carpeta npm
  2. Desinstale el nodo y vuelva a instalarlo
  3. Ejecute el comando para instalar angular cli

    npm install -g @angular/cli
    
PrJ
fuente
0

En mi caso, simplemente estaba ejecutando la versión de nodo incorrecta.

Acababa de instalar previamente una nueva versión de nodo para jugar con Angular (2). En el trabajo usamos 6.x, por lo que es mi predeterminado en nvm. Después de reiniciar, la computadora portátil ngdejó de funcionar simplemente porque estaba ejecutando el nodo 6.x nuevamente. Entonces, para mí, fue simplemente una cuestión de usar la versión con la que estaba instalando Angular CLI:

nvm use node // with the node alias pointing to the right version

o

nvm use v8.11.3 // if you happen to know the version

Verifique sus versiones instaladas y alias con

nvm list 
Dar la vuelta
fuente
0

Si tiene una computadora MacOS (la mía es MOJAVE 10.14.2), simplemente agregue estas líneas al final de su archivo ~ / .bash_profile :

export ANGULAR=~/.nvm/versions/node/v10.8.0/bin/ng
export PATH=$ANGULAR:$PATH

Tenga en cuenta que v10.8.0 es la versión de mi Node.js. instalado Para obtener qué versión es la suya, ejecute esto:

node --version

Cuando termine, vuelva a cargarlo a través de su terminal / bash:

cd ~
source .bash_profile

Después de seguir estos pasos, debería poder ejecutar su archivo binario ng .

Marcelo Gumiero
fuente
0

La reparación de la instalación de NodeJS en Windows lo resolvió por mí.

Vistazo
fuente