ng: comando não encontrado ao criar um novo projeto usando angular-cli

112

O angular-cli foi instalado globalmente usando ( npm install -g angular-cli), mas quando estou tentando criar um projeto usando ng new my-projectele, ocorre um erro:

ng: comando não encontrado

Lego
fonte
o que acontece quando você digita ng --help? Isso também foi postado no repositório angular cli. verifique este link
VirendraJ
Mesmo quando eu digito ng --help mesmo problema ng: comando não encontrado, no log de problemas, há sugestões para usar nvm, mas eu gostaria de usar npm. Tentei corrigir o caminho adicionando um alias em meu .profile, mas as configurações de proxy já estão lá, então como posso adicionar um novo caminho usando alias = alias ng = "Users / xxxx / npm / lib / node_modules / angular-cli / bin / ng "
lego
Você pode postar sua versão do sistema operacional, bem como sua versão npm
pd farhad
Usando Mac os, versão npm - 2.14.20 e versão node - 4.4.0
lego
3
Você pode verificar se ele está instalado via ...npm ls --global --depth 0
Brocco

Respostas:

154

O problema é simples, npmnão conheceng

Basta executar npm link @angular/clie deve funcionar perfeitamente.

Abhinavroy23
fonte
4
Você pode explicar um pouco mais sobre isso?
Pardeep Jain
4
@PardeepJain: o comando link basicamente cria um link global e, em seguida, vincula o destino de instalação global à pasta node_modules do seu projeto.
abhinavroy23
2
Não funciona, desculpe. alias ng="PATH-TO-GLOBAL/.npm-global/bin/ng" ( Location of ng file in npm folder) Isso funcionou.
saran3h de
2
Isso funcionou. Só tive que correr sudo. sudo npm link @angular/cli.
Craig
2
Posso confirmar que esta solução está funcionando. Estou usando o Windows e posso confirmar que essa solução funcionou para mim. Mas eu tive que fazer algo adicional: Executar isto no PowerShell: "Set-ExecutionPolicy Unrestricted". Isso permite que você execute arquivos .ps1 (powershell).
lucamuh
47

Primeiro, angular-cliestá obsoleto e foi substituído por @angular/cli. Portanto, se você desinstalar seu angular-cli existente com npm uninstall angular-clie reinstalar o pacote com o novo nome @ angular / cli, você poderá obter alguns conflitos. Minha história no Windows 7 é:

Eu tinha instalado o angular-cli e reinstalado usando npm install -g @angular/cli, mas depois de fazer algumas alterações de configuração nas ferramentas de linha de comando, comecei a receber o problema do comando ng não encontrado. Passei várias horas tentando consertar isso, mas nenhum dos problemas acima funcionou sozinho. Consegui consertar usando estas etapas:

Instale o Rapid Environment Editor e remova quaisquer entradas de PATH para node, npm, angular-cli ou @ angular / cli. Node.js estará em seu caminho de sistema, npm e entradas angulares estão em caminho de usuário.

Desinstale o node.js e reinstale a versão atual (para mim 6.11.1). Execute o Rapid Environment Editor novamente e certifique-se de que node.js e npm estão em seu sistema ou caminho de usuário. Desinstale qualquer versão existente do ng com:

npm uninstall -g angular-cli

npm uninstall -g @angular/cli

npm cache clean

Exclua a pasta C: \ Users \% YOU% \ AppData \ Roaming \ npm \ node_modules \ @angular .

Reinicie e, finalmente, execute:

npm install -g @angular/cli

Em seguida, prenda a respiração e corra:

ng -v

Se você tiver sorte, receberá um pouco de amor. Prenda a respiração a partir de agora sempre que executar o comando ng, porque 'comando não encontrado' magicamente reapareceu para mim várias vezes depois que o ng estava funcionando bem e pensei que o problema estava resolvido.

VanAlbert
fonte
3
sudo npm install -g @ angular / cli
Mohammad Suhel Shaikh
Desculpe, mas isso não está funcionando. Tentei todos os comandos acima e usei o sudo para emiti-los. Estou no mac OS.
pixel
Eu segui esse formato e funcionou bem para mim sem o Editor de ambiente rápido. No Windows 10, atualizei manualmente os caminhos nas variáveis ​​de Einvronment. Eu não tinha executado o Node ou o Angular por um tempo, pois meu último projeto foi dotnet core. Então, eu tive que reinstalar o último do npm e do node, então redefinir meus caminhos e reiniciar antes da etapa de desinstalação do angular / cli.
Vic
21

Certifique-se de que o diretório npm está na sua variável " Path ".

Se o módulo estiver instalado corretamente, ele pode funcionar se você iniciá-lo fora do diretório do módulo do nó global, mas sua ferramenta de linha de comando não sabe onde encontrar o ngcomando quando você não está neste diretório.

Para a variável de sistema Win , adicione algo como:

%USERPROFILE%\AppData\Roaming\npm

E se você usar um terminal tipo Unix (emulador):

PATH=$PATH:[path_to_your_user_profile]/path-to-npm
fuma
fonte
2
Se você trabalhar em vários projetos usando diferentes versões da CLI (de modo que sempre executar a única versão global não seja uma opção), tente export PATH=$PATH:node_modules/@angular/cli/bin/ng- ela escolherá a versão local, contanto que você execute o ngcomando no diretório raiz do seu Angular (subprojeto.
Janaka Bandara
@JanakaBandara, como adicionaria esse comando de exportação no Win10? Posso adicioná-lo ao .bash_profile?
Diego Ortiz
1
Sim, geralmente adiciono isso a.bashrc
Janaka Bandara
17

É assim que eu fiz funcionar para mim :).

1 - npm link @angular/cli

Ele retornará o caminho de cli , que se parecerá com este

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

Para esta parte, /11.3.0_1substitua-o pela sua respectiva versão do nó, que pode ser encontrada digitandonode --version

2 - cd ~/

3 - open .bash_profile

No perfil bash, crie um 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

É assim que seu .bash_profileficará assim que você adicionar um alias a ele.

insira a descrição da imagem aqui

Agora, digitar ngno terminal exibirá a saída mostrada no instantâneo anexado.

insira a descrição da imagem aqui

Espero que esta resposta seja útil.

Divyanshu Rawat
fonte
1
Apenas npm link @angular/clifoi o suficiente para mim. Obrigado.
Kunal Dethe de
Que bom que ajudou você :)
Divyanshu Rawat
16

a solução mais fácil é ( se você já instalou o angular ):

1 remova o apelido ng se existente

unalias ng

2 adicione o alias correto

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

3 run ng serve por exemplo e vai funcionar.

Achref Gassoumi
fonte
não há diretório .npm-global no Mac
pixel
@pixel com certeza há um npm-global no mac, consulte aqui para obter mais detalhes flaviocopes.com/npm-packages-local-global
Achref Gassoumi
1
@AchrefGassoumi Obrigado, mas depois de pesquisar por horas no Google, nenhum local sugerindo alias para um local não funcionava. A única maneira de resolver isso era usar nvm, conforme expliquei na minha resposta a esta pergunta stackoverflow.com/questions/58138138/…
pixel
14

Para Mac executar

npm install -g @angular/cli@latest

então corra

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

Verifique se está funcionando

ng version
Francesco
fonte
Tive que usar o seguinte comando de alias: - alias ng = "/ usr / local / lib / node_modules / @ angular / cli / bin / ng"
cammando
11

Execute os comandos abaixo:

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" (Localização do arquivo ng na pasta npm)

E finalmente execute:

ng -v 

Ng-v

Gajender Singh
fonte
Com o angular 7, acho que mudou para a versão $ ng
raikumardipak de
Embora isso resolva um problema, cria outro. Isso sempre significa que você está executando o NG global e nunca no nível do aplicativo.
Itanex de
Não, não é assim que estamos redefinindo a palavra-chave ng. Não há nada como o nível do aplicativo. é apenas um arquivo de configuração para o usuário atual
Gajender Singh
9

No meu caso, instale o angular cli

npm install -g @angular/cli@latest

atualize o Nodejs para o mais recente , então tudo deve funcionar bem.

... e se ainda tiver esse problema, talvez seja porque rodou o comando no shell e não no cmd (você precisa rodar o comando no cmd), verifique isso e talvez ajude ...

Ali Jamal
fonte
8

Resolvi o mesmo problema ao adicionar um alias como:

alias ng="path-to-your-global-node-modules/angular-cli/bin/ng"
m.zemlyanoi
fonte
Isso funcionou bem para mim, mas sempre que eu logava eu ​​tinha que fazer isso, então eu adicionei no meu arquivo .bashrc desta forma: "nano ~ / .bashrc" e então adicionei a seguinte linha: alias ng = "/ usr / local / lib / node_modules / @ angular / cli / bin / ng "Estou executando o Ubuntu 14.04 no vagrant
Sabeeh Chaudhry
5

Para usuários de Mac:

1) Instale @ 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) Crie um alias para ng

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

Feito

Roman Mahotskyi
fonte
5

Se você instalou o angular cli globalmente, mas o ng não está funcionando, faça o seguinte:

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

source ~/.bashrc

ng --version
faye.babacar78
fonte
C: \> echo -e "export PATH = $ (npm prefixo -g) / bin: $ PATH" >> ~ / .bashrc O sistema não pode encontrar o caminho especificado.
GregJF
Este comando é apenas para usuários Unix / Linux. Se você estiver no Windows, o Angular CLI deve ser instalado no modo de administrador.
faye.babacar78
4

tente isto:

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

Todos
fonte
3

Certifique-se de que o angular-cli esteja instalado antes de tentar criar um projeto. Os usuários do Windows podem instalar o angular-cli sem dar permissão ao comando, mas os usuários do MAC devem usar o sudo antes de executar o comando da seguinte forma:

sudo npm install -g angular-cli

Digite uma senha quando solicitado e pressione Enter para continuar.

Maihan Nijat
fonte
3

O mesmo problema aqui executando o Windows 10 x64 / NodeJS 6.9.1 / npm 3.10.9 .
Após a instalação do Angular CLI via npm:

O comando 'ng' não foi encontrado

Faça o seguinte:

  1. Npm desinstalado com npm uninstall -g npm
  2. NodeJS desinstalado via painel de controle / programas e recursos
  3. Baixado e executado o 'antigo' instalador NodeJS versão 6.5.0 de https://nodejs.org/download/release/v6.5.0/ ( node-v6.5.0-x64.msi ).
  4. Após a instalação do NodeJS 6.5.0 concluída, abra o PowerShell e npm install -g angular-cli
  5. Pegue um café rápido
  6. Depois de concluída a instalação, o ng funcionou bem.

HTH

Matt Kane
fonte
3

Em primeiro lugar, verifique se o npm e o nó foram instalados corretamente
com os comandos npm versione node -v.

Se forem adequados:

  1. Encontre o diretório raiz global do NPM npm root -g(ele lhe dará a raiz de seu armazenamento global npm)

  2. Desinstale o cli angular antigo com npm uninstall -g angular-cli enpm cache clean

  3. Reinstale a nova versão do angular npm install -g @angular/cli@latest

  4. faça um Alias ​​de Nome 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>"
(respondido em 20 de outubro de 16 às 15:30 @ m.zemlyanoi)

então, para verificar, você pode digitar ng -v

Mayank Parihar
fonte
2

se você encontrar este erro ao instalar o angular-cli, -bash: ng: command not foundtente isto funciona,

Depois de remover o Node do seu 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
fonte
2

De acordo com npm, o angular-clifoi renomeado para, @angular/clivocê pode usar a seguinte sintaxe para instalá-lo.

npm install -g @angular/cli
nPcomp
fonte
1

solução apenas para o sistema operacional Windows ....... primeira etapa:

instalar a versão do nodejs: nodev 8.1.2

segunda etapa: configurar a variável de ambiente como: C: \ ProgramFiles \ nodejs

Terceira etapa: instalar o angular, use este comando: npm install -g @ angular / cli

após a instalação onde você tem que criar um projeto como: ng new first-project ......

raja manikkam
fonte
1

Para mim (no MacOSX) eu tive que fazer:

nvm install stable
npm install -g angular-cli

Isso foi instalado em:

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

Mas o npm não colocou um link para ng em

/usr/local/bin/

Motivo pelo qual ele não fazia parte do% PATH e, portanto, estava disponível na linha de comando, exceto por meio de um endereço absoluto.

Então, usei o seguinte para criar um link para ng:

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

corrida

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

ajudou.

Certifique-se de que seu nome de usuário real esteja na seção meunomede

Fey Agape
fonte
Alguém entregou uma medalha a essa pessoa. Funciona como um encanto.
Pramesh Bajracharya
0

Se você estiver trabalhando no Windows 7 e não conseguir executar o comando iniciar com ng

por favor, atualize o angular / CLI de uma vez e tente usar os comandos ng

use o comman abaixo para atualizar o CLI mais recente

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

Isso funciona para atualizar seu angular / cli // * pacote global (cmd como administrador)

npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli@latest
Álvico
fonte
0

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

sudo npm install -g @angular/cli

Depois disso, tente fazer ping no cli usando o comando 'ng' da janela do terminal. Se houver algum problema como

Comando 'ng' não encontrado

Então você precisa configurar manualmente o

ng

disponibilidade do comando. Você define esta etapa executando o seguinte comando.

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

por exemplo:

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

Thrilok Kumar Pallaki
fonte
0

No meu caso, estava acontecendo quando reiniciei o trabalho em uma guia adjacente. Era o npm que não estava definido. Por favor, verifique a versão do npm murchar usando

npm -v

ou se você está tendo nvm então

lista nvm

ou

nvm atual

Eu configurei para 8.9.1 e então ele começou a funcionar novamente. Espero que ajude.

Rahul
fonte
0

Isso funcionou para mim:

  1. Vá para C: \ Users {{users}} \ AppData \ Roaming e exclua a pasta npm
  2. Desinstale o nó e instale-o novamente
  3. Execute o comando para instalar o angular cli

    npm install -g @angular/cli
    
PrJ
fonte
0

No meu caso, estava simplesmente executando a versão de nó errada.

Eu tinha acabado de instalar anteriormente uma nova versão de nó para brincar com Angular (2). No trabalho, usamos 6.x, então esse é o meu padrão em nvm. Depois de reiniciar, o laptop ngparou de funcionar simplesmente porque estava executando o node 6.x novamente. Então, para mim, foi simplesmente uma questão de usar a versão com a qual eu estava instalando o Angular CLI:

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

ou

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

Verifique suas versões instaladas e aliases com

nvm list 
Giro
fonte
0

Se você tiver um computador MacOS (o meu é MOJAVE 10.14.2), basta adicionar estas linhas ao final do arquivo ~ / .bash_profile :

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

Observe que v10.8.0 é a versão do meu Node.js. instalado. Para saber qual é a sua versão, execute:

node --version

Quando terminar, recarregue-o através do seu terminal / bash:

cd ~
source .bash_profile

Depois de seguir essas etapas, você deverá ser capaz de executar o arquivo binário ng .

Marcelo Gumiero
fonte
0

Reparar a instalação do NodeJS no Windows resolveu para mim.

Relance
fonte