Como resolver 'Error: listen EADDRINUSE: address already in use :::8080' ao usar o módulo HTTP do servidor Node.JS no MacOS?
A porta 8080 ficou bloqueada? É simples resolver!
1 - Listar os processos
O comando abaixo vai listar os processos que estão usando a porta 8080:
sudo lsof -i :8080
Após este comando vai ser exibido tudo que está utilizando a porta 8080.
Agora você tem uma lista e todos os PID dos processos em execução. Uma vez que você tenha o PID, vamos matá-lo com usando o comando ‘kill’.
2 - Matar os processos
No meu caso, a porta 8080 estava utilizando 7 processos. Vou matar apenas o PID (ID de Processo) de número 837 e todos os demais serão encerrados:
kill -9 837
Isso acabou de interromper o processo do HTTPD na porta 8080!
Se usar novamente o comando 'sudo lsof -i :8080' vai ver a informação 'lsof: unknown protocol name ( ) in: -i :8080' pois agora nenhum processo está usando a porta.
Feito!
Este é um artigo de um passo-a-passo resumido. Se você quiser conhecer mais detalhes destes comandos e destes processos, tem um artigo bem mais detalhado que já escrevi e pode acessar clicando aqui.
Abraço
Flávio Conca