'npm' não é reconhecido como comando interno ou externo, programa operável ou arquivo em lote

202

Eu sou completamente novo no nodejs. Estou tentando fazer com que o nodejs funcione na minha caixa do Windows 2008 para instalar o Karma, que eu usaria para TDDing meu código do AngularJs. Eu fiz os seguintes passos até agora

  1. Instalar usando Chocolatey ==> npm não é reconhecido
  2. A instalação usando o instalador do nodejs de 64 bits do nodejs.org ==> npm não é reconhecida
  3. Nesta fase, correr where npmme dá o c:\User\<Username>\AppData\Roaming\npmque não tem nada
  4. Eu descobri que o nodejs está instalado C:\Program Files\nodejs. Abrir um prompt de comando neste diretório facilita o npmtrabalho.
  5. Então eu adicionei C:\Program Files\nodejsa PATHapenas para obter o mesmo erro outra vez quenpm is not recognized
  6. Um dos problemas do github no repositório nodejs diz que eu preciso reiniciar a máquina e ela seria corrigida. Mas isso não ajudou até agora
  7. Eu vejo um Node.jsícone no meu Start -> Programmsmenu que me leva ao console do nodejs, mas não sei o que fazer com isso.

Perdi alguma etapa importante do processo?

Editar

Eu descobri que se eu abrir o "prompt de comando do Nodejs" a partir dos arquivos de programa, o npm será reconhecido. Como faço para funcionar em um prompt de comando normal?

Editar

Depois node, comecei a enfrentar um problema semelhante com outro aplicativo. Postei esta pergunta no superusuário e, como corretamente apontado pela resposta aceita, tive uma citação adicional na minha, PATHque estava causando problemas com todos os caminhos adicionados após a citação. Tenho a sensação de que alguma instalação do Chocolatey adiciona essa citação preocupante, mas não tenho certeza de qual.

Suhas
fonte
8
Depois de adicionar ao PATH, você reiniciou a linha de comando? PATHé carregado apenas ao inicializar novas sessões de linha de comando.
Davin Tryon
Sim Davin, eu reiniciei a linha de comando várias vezes agora
Suhas
Eu tenho "C: \ Program Files \ nodejs \" no meu sistema PATHe tudo que trabalham no Windows 7.
Davin Tryon
5
Você pode abrir um novo prompt de comando, digitar PATH(pressionar <enter>) e verificar novamente se vê "C: \ Arquivos de Programas \ nodejs \" lá?
Davin Tryon
1
Sim, eu tenho C:\Program Files\nodejsdentroPATH
Suhas

Respostas:

347

Basta adicionar:

;C:\Program Files\nodejs\

No final da sua variável Path , na seção "User variable" das variáveis ​​de ambiente nas propriedades do sistema.

Depois disso, reabra o prompt de comando e digite

npm

Isso deve funcionar.

Breno
fonte
4
O motivo pelo qual não aceitei a resposta foi que eu já tinha esse caminho. O motivo pelo qual não estava funcionando era diferente. No entanto, eu dei um joinha pela sua resposta #
213 Suhas #
4
o ponto e vírgula separa as diferentes variáveis ​​de usuário que você pode ter. Portanto, normalmente você já possui alguns caminhos em suas variáveis ​​de ambiente e, para adicionar um novo, primeiro é necessário separar o restante adicionando um ponto e vírgula antes do caminho que você deseja adicionar.
Breno
2
demore um pouco para encontrar Como adicionar <code>; C: \ Arquivos de Programas \ nodejs \ </code> em "Variável do usuário". Compartilhe isso abaixo: 1: Abra a janela Propriedades do sistema (Iniciar -> Configurações -> Painel de controle -> Desempenho e manutenção -> Sistema). 2. Selecione a guia Avançado. 3.Clique no botão Variáveis ​​de ambiente. 4.Clique no botão Novo sob as "Variáveis ​​do usuário". 5. adicione "Caminho" e "; C: \ Arquivos de Programas \ nodejs \"
Wen
6
O instalador do node.js. já colocou a variável de caminho para mim. Mas ainda não tenho o npm na linha de comando.
MrFox
7
Você reiniciou o @MrFox?
Breno
116

Não se esqueça de reiniciar o computador após instalar o nó! Aquele me pegou.

user3414680
fonte
Não tenho certeza se você precisa disso se instalar usando o Chocoletey.
Suhas
58
Você não precisa reiniciar, basta fechar o terminal e abri-lo novamente.
Catfish
5
Reinicie, reinicie, reinicie!
Andrew Day
@Suhas ... ganhar 10 - PS administrador prompt de -choco instalar nodejs - reiniciado Código ... ainda tinha que reiniciar
felickz
O VS Code se atualizou. Teve que reiniciar, nada mais funcionou.
TDP
33

Para elaborar a resposta de Breno ... Para o Windows 7, essas etapas funcionaram para mim:

  1. Abra o Painel de controle (clique no botão Iniciar e, em seguida, clique em Painel de controle )
  2. Clique em Contas de usuário
  3. Clique em Alterar minhas variáveis ​​de ambiente
  4. Selecione PATH e clique no botão Editar ... botão
  5. No final do valor da variável, adicione ;C:\Program Files\nodejs
  6. Clique em Ok na janela "Editar variável do usuário" e clique em Ok na janela "Variáveis ​​de ambiente"
  7. Inicie uma janela do prompt de comando (botão Iniciar, digite cmd na pesquisa e pressione enter)
  8. No prompt ( C:\>), digite npm e pressione enter; agora você deve ver algum texto de ajuda ( Usage: npm <command>etc.) em vez de " npm não é reconhecido ... "

Agora você pode começar a usar o npm !

Lucas
fonte
6
Em alguns sistemas, pode ser ;C:\Program Files(x86)\nodejs.
kaiser
17

Não se esqueça de executar o cmd como administrador.

Raul
fonte
Eu instalei o Node fora Program Filese isso corrigiu o problema. Obrigado.
Pauline
Uma coisa tão simples que todo mundo perdeu. Obrigado Raul. Sua resposta é a última não menos importante e resolveu o problema. Obrigado cara
Gaurav khurana
12

Eu tive o mesmo problema descrito por Ashu , mas além disso, a entrada PATH para nodejs foi finalizada por uma barra invertida:

C:\Program Files\nodejs\

Eu também tive que remover a barra invertida final para que funcionasse.

gbgnv
fonte
1
Você escreve 'além', mas a única alteração que tive que fazer foi remover a barra à direita na variável de ambiente do sistema Path.
Scott Munro
9

Eu enfrentei exatamente o mesmo problema e observe que, após a instalação do node.js, havia uma nova entrada de caminho na seção de variáveis ​​do usuário para PATH com o valor -> c: \ Usuário \\ AppData \ Roaming \ npm. Além disso, a entrada Caminho na variável do sistema é anexada com -> C: \ Arquivos de Programas \ nodejs. Agora, como a variável do usuário tem preferência sobre o sistema, você tem duas opções para corrigir isso. Exclua o caminho da variável do usuário ou corrija o caminho correto (C: \ Arquivos de Programas \ nodejs). Reinicie o CMD e deve funcionar.

Ashu
fonte
7

Basta baixar e instalar o Node.js aqui https://nodejs.org/en/

Se você executar o arquivo baixado e instalá-lo, eles serão configurados automaticamente para o seu sistema

Você não precisa mais de nenhuma outra configuração, agora pode usar o comando npm em qualquer lugar


Se o Nodejs foi instalado com sucesso e ainda exibe a mensagem assim:

'npm' não é reconhecido como um comando interno ou externo, programa operável ou arquivo em lote.

Siga as etapas abaixo para usuários do Windows:

  1. Vá para Propriedades do meu computador
  2. Clique em Configuração avançada do sistema na barra esquerda de uma janela.
  3. Agora você tem uma janela Propriedades do sistema. Clique em Avançado
  4. Em seguida, clique em Variável de ambiente botão
  5. Agora você tem a janela Variável de ambiente: Na Variável do sistema , selecione Caminho
  6. Clique em Editar
  7. No final do valor da variável, adicione ;C:\Program Files\nodejs\

    Nota : Se você instalou o nodejs em outras unidades, aja de acordo.

  8. Clique em Ok, toda a caixa de diálogo aberta

Nota muito importante : "Feche o prompt de comando e reinicie novamente" (é muito importante porque, se você não reiniciar o prompt de comando, as alterações não serão refletidas.)

Agora você pode usar o comando npm em qualquer lugar

Udhav Sarvaiya
fonte
6

Se você estiver usando o código VS, feche o código VS e abra novamente.

Tentei fechar o Terminal e abrir o novo Terminal, mas não funcionou.

Reiniciar o código VS funciona!

codemirror
fonte
4

Teve o mesmo problema no Windows 8.1 de 64 bits.
Acontece que eu tenho esse problema se eu iniciar o cmd digitando-o na barra de caminho na parte superior de uma janela de pasta
ou
quando desloco o botão direito do mouse em uma janela de pasta e, em seguida, abra o prompt de comando da lista.

Quando executo o cmd usando Executar ou Apenas no executável do cmd.exe, ele funciona.

jacobian
fonte
4

Se você estiver recebendo esse erro por meio de uma conta de serviço como o serviço do controlador Visual Studio TFS Build ou qualquer outro serviço em segundo plano, reinicie o serviço após instalar o npm, pois as novas configurações do ambiente PATH não serão atendidas pelos processos em execução. Eu estava recebendo o mesmo erro através do meu serviço de compilação, mas eu tinha o npm instalado e em execução no console.

Ehsan Mahpour
fonte
4

Você já deve ter recebido uma resposta, mas isso pode ajudar outras pessoas, porque eu experimentei o mesmo problema recentemente e foi isso que fiz:

  1. Forneceu uma entrada de caminho para o PowerShell. Para mim, o caminho foi C: \ Windows \ System32 \ WindowsPowerShell \ v1.0
  2. Então eu abri o prompt do cmd com privilégios administrativos e copiei isso

    @powershell -NoProfile -ExecutionPolicy irrestrito-Command "iex ((novo objeto net.webclient) .DownloadString (' https://chocolatey.org/install.ps1 '))" && SET PATH =% PATH%;% ALLUSERSPROFILE% \ chocolatey \ bin

no prompt do cmd.

  1. Próximo, choco install nodejs
  2. Reinicie e tudo funcionou bem. Tente abrir o cmd sem privilégios de administrador e execute npm -v Cheers.
rash.tay
fonte
3

Também encontrei esse problema. Acontece que o Windows não possui aspas simples na linha de comando. O culpado foi um dos meus scripts npm. Alterei as aspas simples para aspas duplas de escape:

'npm -s run sass-build'

para

\"npm -s run sass-build\"
Skott Dorrito
fonte
3

Estou atualizando este tópico com uma nova resposta porque encontrei a solução para minha situação miserável depois de não menos de uma semana ...

Para aqueles que ainda estão enfrentando o erro, mesmo tendo o valor do caminho definido corretamente, verifique a variável de pathext para ter o valor (valor padrão no Windows 7 +): .COM; .EXE; .BAT; .CMD; .VBS; .VBE ; .JS; .JSE; .WSF; .WSH; .MSC

O meu era definir apenas para: .BAT e alterá-lo resolveu o problema. Eu me pergunto por que ninguém trouxe isso à tona ...

Espero que isto ajude!

A.KHOUS
fonte
2

Eu instalei o nodejs seguindo este tutorial do AngularJS . o comando npm funcionou quando abro uma nova janela do cmd, mas não na atual.
Portanto, a correção foi fechar e abrir uma nova janela do cmd .

miva2
fonte
2

Encontrei esse problema outro dia na minha máquina Windows 7. O problema não era o meu caminho, mas eu tive que usar barras invertidas em vez de barras invertidas como esta:

"scripts": {
    "script": ".\\bin\\script.sh"
}
Daniel Lizik
fonte
2

Se o pacote foi instalado com sucesso e ainda mostra a mensagem " 'npm' não é reconhecido como um comando interno ou externo, programa operável ou arquivo em lote " .

  1. Clique no botão Iniciar do Windows.
  2. Procure por " TODOS OS APLICATIVOS "; você verá o prompt de comando Node.js e Node.js.
  3. Você pode executar o prompt de comando do Node.js. como administrador e, logo que for executado, mostrará a mensagem "Seu ambiente foi configurado para usar o Node.j 6.3.3 (x64) e o npm".

e então funciona a partir daí ...

S.Droid
fonte
1

Instalei o Node.js e, ao tentar instalar o Ionic e o cordova, usando este código:

npm install -g cordova ionic

Eu enfrentei o erro acima. Adicionei 'C: \ Arquivos de programas \ nodejs' à minha variável de ambiente 'PATH'. Mas ainda não foi possível resolver esse problema. Acontece que minha variável PATH tinha mais de 2048 caracteres e, portanto, não foi possível adicionar o caminho do Nodejs a ela. Eu tive que remover o caminho de outro programa e adicionar o caminho do Nodejs. Feche e reabra o prompt do cmd e tente instalar o Ionic novamente. Isso funcionou para mim.

Sundar Ram
fonte
1

para mim, adicionar caminho ao PATH não funcionou. Executar em c:\Program Files\nodejs\nodevars.batvez disso, ele fará o trabalho para você

Cheburek
fonte
1

Bem, no meu caso, testando via Mocha, tentei de tudo para perceber que tenho que remover aspas simples ao redor da minha tag de script de caso de teste dentro package.json .

Estou executando mochao caso de teste em todos os *.test.jsarquivos, como pode ver abaixo:

package.json

Antes:

 "scripts": {
    "test": "mocha server/**/*.test.js",
    "test-watch": "nodemon --exec 'npm run test'"
  }

Depois (remover aspas simples - teste de execução npm):

 "scripts": {
    "test": "mocha server/**/*.test.js",
    "test-watch": "nodemon --exec npm run test"
  }

Trabalhou para mim, apenas no caso de alguém também ficar preso nisso.

Ylama
fonte
1

Se tudo parecer bem. Eu aconselho a verificar isso para PATHEXT .CMD deve ser adicionado. insira a descrição da imagem aqui

Gitesh
fonte
Sua resposta corrigiu 100% do meu problema. Obrigado.
Gauthier Buttez
0

Para Windows8 clique direito minhas propriedades pc, em seguida, clique variável de ambiente variáveis usuário ou variáveis do sistema >> nova >> colocar o nome e caminho variável: como esta C:\Program Files\nodejs cmd e tipo Então ok agora aberto npm ele vai trabalhar

Imran Khan
fonte
2
Oi! Bem-vindo ao SO. Por favor, dê uma olhada na seção de ajuda sobre como responder . Como isso difere das respostas postadas anteriormente? Existe algo especificamente diferente da resposta de @ Luke para o Windows 7? O problema mencionado ;no caminho não se aplica? Se você está apenas confirmando que sim, a resposta aceita ainda é aplicável no Windows 8, considere excluir sua resposta e adicionar as informações como um comentário à resposta aceita. Se você estiver trazendo algo novo para a mesa, atualize sua resposta para refletir isso. Melhor
wahwahwah
0

siga apenas 2 etapas 1. Baixe o nodejs manualmente agora, vá para esse caminho como C: \ Arquivos de programas \ nodejs \ 2. Em seguida, adicione um novo caminho como nome: caminho e nome da variável: C: \ Arquivos de programas \ nodejs \ clique em ok e feche prompt de cmd. reabra e digite npm imediatamente

Atchutha rama reddy Karri
fonte
0

Verifique o npm config pelo comando:

npm config list

Ele precisa de propriedades: "prefixo", "prefixo" global e "localização da posição do nó".

; userconfig C:\Users\username\.npmrc
cache = "C:\\ProgramData\\npm-cache"
msvs_version = "2015"
prefix = "C:\\ProgramData\\npm"
python = "C:\\Python27\\"
registry = "http://registry.com/api/npm/npm-packages/"

; globalconfig C:\ProgramData\npm\etc\npmrc
cache = "C:\\ProgramData\\npm-cache"
prefix = "C:\\ProgramData\\npm"

; node bin location = C:\Program Files\nodejs\node.exe
; cwd = C:\WINDOWS\system32

Nesse caso, ele precisa adicionar esses caminhos ao final da variável de ambiente PATH:

;C:\Program Files\nodejs;C:\ProgramData\npm;
Praia de Pax
fonte
0

Se você usou ferramentas de compilação ms para instalar o nó, o caminho está aqui:

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VisualStudio\NodeJs
Helzgate
fonte
-2

Precisamos instalar o nodejs e nada mais precisamos fazer; basta usar o prompt de comando e alterar o diretório para o projeto no qual você deseja instalar o npm e, em seguida, usar o comando npm install. Ele tem trabalhado para mim.

Vivek Verma
fonte