Alguém já experimentou algo parecido com o nó:
Eu estava executando Angular
, meu Windows travou e reiniciou e agora, quando tento ng serve
, estou recebendo:
Error: listen EACCES: permission denied 127.0.0.1:4200
at Server.setupListenHandle [as _listen2] (net.js:1253:19)
at listenInCluster (net.js:1318:12)
at GetAddrInfoReqWrap.doListen [as callback] (net.js:1451:7)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:61:10)
eu também tenteing serve --port 4201
Mesmo resultado.
NOTA: Antes de reiniciar o Windows , eu estava executando o aplicativo no formato WSL
. Depois, tentei WSL
e Powershell
.
Atualização: Está acontecendo até com um novo projeto.
No meu caso o erro aparece porque a porta utilizada pertence a portas reservadas para o Hyper-V.
Este intervalo de portas muda quando eu reinicio meu computador, então às vezes recebo o erro às vezes não.
Para verificar as portas reservadas pelo Windows, você pode usar (cmd/powershell):
O problema está descrito em: https://github.com/microsoft/WSL/issues/5514
Solução geral (no comentário 554587817): https://github.com/docker/for-win/issues/3171#issuecomment-554587817
Solução rápida: escolha uma porta que não pertença a intervalos reservados
Uma reinicialização do Windows não é suficiente, reiniciei duas vezes e o problema desapareceu.
Desculpe, não tenho nada mais técnico.
Exceto: 1: Tente não desenvolver no WSL de uma pasta do Windows.
parabéns a @fambrosi por encontrar o tópico e https://github.com/docker/for-win/issues/3171#issuecomment-788808021 . Aqui está o comando para resolver esse problema irritante.
Para mim, esse nó está ouvindo na interface de rede errada.
Depois de usar o docker, ele estava usando a interface de rede docker como principal.
Desativar a interface de rede para forçar o nó a usar a interface correta funcionou.
Eu também enfrentei o mesmo problema ao tentar
ng serve
o comando no terminal.Solução: Basta modificar o comando como
Adicionando à lista crescente de coisas que podem ser o problema: eu estava usando o ExpressVPN no meu computador, isso de alguma forma interferiu na ligação de qualquer porta localhost. Desinstalar + reiniciar corrigiu o problema para mim!
Reiniciar não foi suficiente! A única maneira de resolver o problema é o seguinte:
Você tem que matar o serviço que roda naquela porta.
No cmd, execute como administrador e digite:
Então você obterá uma lista com o serviço ativo, procure a porta que está rodando em 4200 e use o ID do processo que é a última coluna para eliminá-lo:
O mesmo problema para mim, desencadeado pela execução do Vue dev server na porta
3000
. No meu caso, eu queria navegar porlocalhost:3000
meio de um nome de domínio local mapeado por host personalizado (por exemplomysite.dev
), então defini incorretamente minha configuração local do Apache para escutar0.0.0.0:3000
e definir<VirtualHost *:3000>
. Portanto, o Apache já estava usando a porta.Recentemente, atualizei minha janela de encaixe para a versão mais recente e meu aplicativo angular começou a apresentar esse erro. Depois de investigar, descobri que a porta 4200 (a porta padrão usada pelos aplicativos angulares) está ocupada por outros aplicativos.
Executei o aplicativo com uma porta diferente e resolvi o problema.
Se as respostas acima não resolverem seu problema, sua porta pode estar vinculada via netsh. Você pode usar o seguinte comando para ver se sua porta faz proxy de informações para outro lugar; Eu tinha vinculado a porta 3000 a outro ip e recebi esse erro como resultado.
Se você tiver a porta vinculada, poderá removê-la com: