ng não é reconhecido como um comando interno ou externo

201

Executando o Windows 7 Professional 32 bits.

Eu tentei rodar npm install -g angular-cliambos sob normal ou admin. 2016-06-23_14h46_40

Também tentei adicioná-lo às variáveis ​​de ambiente sob PATH:, (C:\Users\Administrator\AppData\Roaming\npm\node_modules\angular-cli\bin\ng)sem sucesso também.
2016-06-23_14h56_48

O que estou fazendo de errado?

Cristian Muscalu
fonte
6
Certamente você quer o diretório ( C:\Users\Administrator\AppData\Roaming\npm\node_modules\angular-cli\bin) %PATH%?
Biffen
Não tenho certeza. Eu tentei apenas para ver se 'ng' funciona, mas não funciona.
Cristian Muscalu
Você abriu um novo prompt de comando? As variáveis ​​de ambiente não serão propagadas para as em execução. Tente echo %PATH%ver se está correto.
Biffen
2
Bem, verifique se %PATH%contém (é uma lista separada por ponto e vírgula) o diretório que contém ng.exe.
Biffen
2
Eu encontrei a solução para esse problema stackoverflow.com/a/46874999/7968316
Rixwan

Respostas:

236

Para mim, trabalha com:

npm run ng <command>
Bogdana Zadic
fonte
10
Você sabe o motivo disso e como podemos nos livrar do 'npm run'?
Pratik Gandhi
5
mas este não omita qualquer parâmetro adicional após ng compilação
hakuna
Para execução direta através de ngcomando que você pode ligar o seu @angular/clicom NPM usando npm link @angular/cli
Asad Shakeel
3
@PratikGandhi Isso ocorre porque cmdsó é possível executar comandos especificados nas variáveis ​​de ambiente (neste caso npm). Este caminho é adicionado quando você instala o nó no seu sistema globalmente. Quando você adiciona o caminho completo C:\Users\<user>\AppData\Roaming\npm\node_modules\@angular\cli\bin\ngàs variáveis ​​de ambiente e executa novamente cmd, ele aceita ngcomo um comando. Como alternativa, você também pode usar o prompt de comando Node.js. para executar os comandos ng.
MM
218

Resolvi esse problema de acordo com a figura:

executar em cmd

 npm install -g @angular/cli

e depois

(aberto no Windows 10) Painel de controle \ Todos os itens do painel de controle \ Sistema ou de acordo com a figura

passo 1:

insira a descrição da imagem aqui

passo 2 :

insira a descrição da imagem aqui

etapa 3:

insira a descrição da imagem aqui

Passo 4:

insira a descrição da imagem aqui

step5:

insira a descrição da imagem aqui

E, no final, o computador deve ser reiniciado.

BehrouzMoslem
fonte
você tem os comentários angular e NG (em res) a volta errada;)
Shaheen K
1
no meu caso, eu só precisava adicionar o caminho ao npm.
Kieran
41
Você não precisa reiniciar o computador no final, você só precisa reiniciar o prompt de comando.
Aravindh Gopi
Ou você pode fazer logoff ("sair" no idioma win 10) e depois fazer logon novamente. Isso "redefinirá" todas as suas variáveis ​​de ambiente. Mas isso é batatas pequenas ... ao lado desta resposta real. Voto a favor. Obrigado.
usar o seguinte código
C:\Users\<YOURUSER>\AppData\Roaming\npmnão é caminho angular, mas caminho npm; portanto, se você adicionar esse caminho às suas variáveis ​​ambientais, todos os pacotes npm instalados com o sinalizador -g estarão disponíveis na sua linha de comando (não apenas ng).
PinguinoSod
113

Adicionando C:\Users\DELL\AppData\Roaming\npmà variável do sistemaPath funcionou para mim. Encontre o caminho do arquivo apropriado para 'npm'

Além disso, verifique se você adicionou seu angular-cli\bincaminho à variável de caminho.

sabari
fonte
5
Tente também reiniciar o PC. Depois que o comando ng começou a funcionar.
Mateusz Migała
1
Procure o caminho para o arquivo "ng.cmd". atualize a variável de ambiente PATH com o caminho
Jnana
4
Isso funcionou para mim no Windows 10, mas eu adicionei "% USERPROFILE% \ AppData \ Roaming \ npm" para cobrir vários usuários em potencial, retirando de seus próprios perfis de usuário.
Tim McElwee
2
%AppData%\npmserá expandido para os valores de @TimMcElwee e @ sabari e será independente do usuário e da máquina.
Ps2goat 27/09/18
adicionar a pasta \ npm às variáveis ​​de caminho corrigidas para mim
Kaspazza
68

Estou usando o WIN 10, apenas descubra esse problema. Digite o código abaixo em cmd:

prefixo de obtenção de configuração npm

e copie e cole o caminho obtido de cima nas variáveis ​​de ambiente do computador -> caixa de variáveis ​​do usuário -> caminho -> editar - C: \ Arquivos de Programas \ nodejs \ node_global , seu caminho pode ser diferente.

Clique em Ok e reabra a janela do cmd, digite a versão ng e , em seguida, ele funcionará! Felicidades!

YuSolution
fonte
Funciona como um encanto! O shell do MySQL substituiu a variável do caminho do usuário .. :(
Hamza Khanzada
40

Basta abrir o prompt de comando (executar como administrador). Garantirnode --v se de 6.9.0 ou superior e npm --v3.0.0 r superior.

Depois disso, execute o seguinte comando:

npm install -g @angular/cli

Depois que o angular estiver instalado. você pode ver uma entrada de CLI angular no caminho

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

Então tente ajuda. Vai funcionar.

user1057641
fonte
27

1) Digite o comando abaixo no prompt de comando

npm install -g @angular/cli

2) Verifique se C: \ Users \ _username_ \ AppData \ Roaming \ npm este caminho não está oculto .

3) Adicione C: \ Users \ _username_ \ AppData \ Roaming \ npm e

C: \ Users \ _username_ \ AppData \ Roaming \ npm \ node_modules @ angular \ cli \ bin para a variável de ambiente caminho da .

4) Abra o novo prompt de comando e digite ng help . Vai funcionar.

Shrirang
fonte
Não consegui ver o diretório AppData até obter permissão de administrador para minha máquina com Windows 10 e abrir uma janela de comando clicando em Executar como administrador.
Robert Stevens
18

Com um comando

npm install -g @angular/cli@latest

Funciona bem, eu sou capaz de executar o comando ng agora.

Yain Patel
fonte
16

Segui as etapas abaixo para resolução deste problema no Windows 10 :

  1. Primeiro, verifique se você instalou a Angular CLI. Você pode usar abaixo para instalar o mesmo.

npm install -g @ angular / cli @ latest

  1. Verifique se AppData está visível e navegue até o caminho abaixo.

C: \ Usuários \ rkota \ AppData \ Roaming \ npm

O mesmo caminho pode ser encontrado executando abaixo também:

prefixo de obtenção de configuração npm

  1. Adicione o caminho acima, ou seja, "C: \ Users \ rkota \ AppData \ Roaming \ npm" na variável de ambiente PATH e verifique se ele foi adicionado executando o caminho no prompt de comando.
  2. Feche o prompt de comando e agora tente executar abaixo:

ng --version

você poderá ver a versão da CLI.

Ravi Shankar Kota
fonte
14

Eu o resolvi alguns dias atrás, depois de ter o mesmo problema com outros módulos globais, adicionando a:

Tabelas de ambiente -> Variáveis ​​do sistema -> Caminho:

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

Observe que ele não deve ter nenhum espaço depois;

Esse acabou sendo o meu problema.

Cristian Muscalu
fonte
Procure o caminho para o arquivo ng.cmd. Atualize o valor PATH da variável de ambiente com o mesmo caminho. Reinicie o console da linha de comandos e pronto.
Jnana
3
A resposta abaixo "npm configuração get prefixo" é a abordagem correta
Peter Morris
1
a menos que você veja o ngna pasta é ng.cmdou Windows Command Scriptna coluna Tipo, senão esta ng neste angular-cli\binnão funciona.
Jeb50
esta resposta precisa ser atualizada, pois agora o caminho na CLI v7.0 + é C: \ Users \ UserName \ AppData \ Roaming \ npm
Hemendra
12

Em vez de usar o prompt de comando interno, comece melhor usando a versão instalada do NodeJS do prompt de comando. Então, ele funcionará perfeitamente, sem problemas.insira a descrição da imagem aqui

youi
fonte
2
A execução where ngnesse console pode ajudar a descobrir o que há de errado com o caminho. Isso foi feito para mim, o ng foi resolvido no usuário errado AppData, portanto, executando uma versão ruim do CLI.
Frederik.L
10

execute as seguintes linhas para resolver o problema das versões não encontradas e indefinidas de ng

desinstalação do npm -g angular-cli

desinstalação do npm --save-dev angular-cli

cache de npm limpo

npm install -g @ angular / cli @ latest

Raja Fawad
fonte
9

Se você receber o erro mesmo após seguir a etapa acima. então tente abaixo.

Uma vez que é um script de nó. Estou usando a opção abaixo para criar a partir de agora.

nó C: \ Users \ Administrator \ AppData \ Roaming \ npm \ node_modules \ angular-cli \ bin \ ng versão

Podem ser necessários links simbólicos. Não pesquisado mais.

Em pesquisas adicionais: defina o caminho como:% PATH%; C: \ Usuários \ Administrador \ AppData \ Roaming \ npm;

No Windows, o arquivo npm.cmd está no caminho acima. Se a variável de ambiente acima estiver definida, você poderá executar a versão ng init

Ram Kumar Dinesh
fonte
7
  1. Abra cmd e digite npm install -g @angular/cli

  2. Nas variáveis ​​de ambiente, adicione na variável de usuário ou no valor "Caminho" da variável de sistema =C:\Users\your-user\.npm-packages\node_modules\.bin

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

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

    ou ng all-ng-commands

sahosseini
fonte
5

feche o cmd e abra-o novamente com o administrador certo ou reinicie o sistema.

Janak Bhatta
fonte
5

Eu enfrentei o mesmo problema quando tentei instalar o angular cli localmente com o comando

npm install @angular/cli@latest

Depois disso, eu tenho o mesmo problema C: \ Users \ vi1kumar \ Desktop \ tus \ ANGULAR \ AngularForms> ng -v 'ng' não é reconhecido como um comando interno ou externo, programa operável ou arquivo em lotes

Do que eu tentei instalá-lo globalmente

npm install -g @angular/cli@latest

Neste caso, funcionou, eu queria saber que não é possível instalar o CLI globalmente?

Depois de fazer algumas pesquisas, achei este artigo muito útil, espero que ajude alguém que enfrenta problemas semelhantes

Trabalhando com várias versões da CLI Angular

Vicky Kumar
fonte
4

Este quase funcionou para mim, mas eu tive que usar:% USERPROFILE% \ AppData \ Roaming \ npm. Em variáveis ​​de ambiente ... / Variáveis ​​do sistema / Caminho

Então, quando fiz o CMD: "ng -v", obtive a resposta correta para o CLI angular.

user2030451
fonte
4

npm install -g @angular/cli ajudou para mim em vez de npm install @angular/cli

Justin Lange
fonte
4

1- Instalar

$ npm install -g @angular/cli

2- Certifique-se de onde você ng.cmdestá presente.

insira a descrição da imagem aqui

3- Em seguida, adicione este caminho nas variáveis.

insira a descrição da imagem aqui

Teoman shipahi
fonte
3

Eu tive o mesmo problema no Windows 7, 64 bits em execução com o npm v3.10.8.

  1. Adicionei o caminho conforme sugerido: (C: \ Users ..... (seu nome de usuário) \ AppData \ Roaming \ npm \ node_modules \ angular-cli \ bin \ ng) e desinstalei o angular-cli.
  2. Depois disso, limpei o cache do npm npm cache cleanconforme solicitado aqui https://blogs.msdn.microsoft.com/matt-harrington/2012/02/23/how-to-fix-node-js-npm-permission-problems/ . Isso garante que não há sobras.
  3. Reinstalado angular-cli com npm install -g angular-clie voila.

    Espero que possa ser útil!
CyberMessiah
fonte
3

Eu estava tendo o mesmo problema quando tentei com a sintaxe "ng new" e resolvi isso simplesmente atualizando a versão do nó existente de 5.xx para 8.xx Após a atualização bem-sucedida do nó, a sintaxe funcionou perfeitamente para mim. Atualize a versão existente do nó. Como é claramente mencionado na documentação angular, esses comandos requerem a versão do nó> = 6.9.x. Para referência, consulte https://angular.io/guide/quickstart . Ele afirma claramente "Verifique se você está executando pelo menos o nó 6.9.xe o npm 3.xx executando o nó -v e o npm -v em uma janela de terminal / console. As versões mais antigas produzem erros, mas as versões mais recentes são boas".

Durba Banerjee
fonte
3

Eu enfrentei o mesmo problema no x86, windows 7;

  • desinstalado @ angular / cli
  • reinstalado @ angular / cli
  • variáveis ​​ambientais verificadas e verificadas (sem problemas) ...
  • Ainda o mesmo problema:

A solução foi o arquivo .npmrc em C: \ Users {USERNAME} ... altere o prefixo para que ele leia "prefix = $ {APPDATA} \ npm" ... Agradecemos a este site pela ajuda para resolvê-lo

Akber Iqbal
fonte
3

Resolvi adicionando -% AppData% \ npm \ node_modules @ angular \ cli \ bin \ path ao caminho das variáveis ​​de ambiente

sajid irfan
fonte
2

No meu caso, fiz as etapas abaixo.

Todos os Programas -> Nó JS-> Clique com o botão direito do mouse no Prompt de Comando do Node.js. e selecione Propriedades e na sequência Target na cópia final abaixo

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

Lancei o Visual Studio Code e abri o arquivo abaixo

C:\Users\gochinta\AppData\Roaming\Code\User\settings.json e deu abaixo

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

}

Agora eu digitei ng -vna minha janela do Visual Studio Code Terminal e funcionou.

Ziggler
fonte
2

Estou enfrentando o mesmo problema e é resolvido. Na minha razão final, instalo o nó e a CLI usando outro perfil de usuário e agora estou executando o comando ng a partir de outro login de usuário. Como o nó e o cli instalados usando outro nó de login do usuário não estão encontrando nada noC:\Users\&lt;user name&gt;\AppData\Roaming nesse caminho, é por isso que estou recebendo esse erro.

Eu executo o npm install -g @angular/clicomando e reinicio minha máquina. Tudo está funcionando bem.

Nitin Jain
fonte
2

Algum tempo no futuro. Aplicável à máquina Windows 8.1. Execute os seguintes comandos

npm install -g @angular/cli

Saia ou reinicie sua máquina.

Isso deve adicionar o caminho env necessário, em vez de fazê-lo manualmente.

Krishneil
fonte
2

Eu também tentei brincar com o cmd definindo o caminho da variável de ambiente & etc, mas a resposta simples é usar o prompt de comando nodejs.

Portanto, você não precisa definir o caminho da variável de ambiente nem nada. Quando você instalou o nodejs, ele fornecerá um prompt de comando, usando o comando "ng", sem nenhuma configuração.

Bhaurao Birajdar
fonte
2

Como essa pergunta ainda é repetida um ano depois, postarei minha resposta aqui também.

A pista (apenas no Windows) é organizar as entradas na variável de caminho à direita.

Como o wiki do NPM nos diz :

Como o instalador coloca C: \ Arquivos de Programas (x86) \ nodejs antes de C: \ Users \\ AppData \ Roaming \ npm no PATH, ele sempre usará a versão do npm instalada com o nó, em vez da versão do npm que você instalou usando npm -g install npm@<version>.

Portanto, sua variável de caminho será semelhante a:

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

Agora você tem duas possibilidades:

  1. Troque as duas entradas para que pareçam
…;%appdata%\npm;C:\<path-to-node-installation>;…

Isso carregará a versão do npm instalada com o npm (e não com o nó) e com a versão da CLI Angular instalada.

  1. Se você (por qualquer motivo) gostar de usar a versão npm incluída no nó, adicione o caminho direto à sua versão global da CLI do Angualr. Depois disso, sua variável de caminho deve ficar assim: …;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;… no formato abreviado.

Isso funcionou para mim há algum tempo.

jowey
fonte
1

Eu tive o mesmo problema do Visual Studio Code, não sendo capaz de executar nenhum comando ng em seu terminal embutido.

Adicionei% AppData% \ npm ao caminho no Windows 10 e não precisei reiniciar, apenas fechei e reabri o VS Code, e ele não o vê.

GaryP
fonte
mesmo problema i definir novo caminho para AppData\Roaming\npm\node_modules\@angular\cli\bin\nge ele funciona muito bem agora
Abdallah Abdillah
1

Instale a versão x32 nodejs em vez da versão x64 (mesmo na máquina Windows de 64 bits).

Nitish Kumar
fonte
1

Para mim, algo estava errado na variável de ambiente PATH. Eu removi todo o caminho relacionado ao npm e adicionei no início do PATH esta pasta:

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

Verifique se você tem ;entre os caminhos.

Vamos para
fonte
este é o caminho certo, porque ambos os Win7 e 10 têm ng. arquivo cmd aqui.
Jeb50