Trabajando en Angular hoy he empezado a obtener extrañamente una cantidad de errores nada normal. Desde errores buscando paquetes usando npm hasta errores lanzando a ejecución el servidor interno de Angular.
Cuando trataba de ejecutar ng serve para que cargue el servidor de aplicaciones de Angular, obtenía este error:
1 2 3 4 |
getaddrinfo ENOTFOUND localhost Error: getaddrinfo ENOTFOUND localhost at errnoException (dns.js:50:10) at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:92:26) |
Como pueden ver, el error refleja que no se puede obtener la dirección IP correspondiente a localhost, algo que todos sabemos que es la 127.0.0.1 pero al parecer Angular no podía determinarlo.
Al revisar el archivo host de mi laptop (ubicado en /etc/hosts) me encuentro que está vacío, algo muy extraño en realidad. La causa probablemente sea alguna aplicación que he instalado haya manipulado ese archivo, tal como una VPN o algún monitor de red. Sea quien haya sido que borró el contenido del archivo, eso explica por qué Angular no podía determinar la dirección IP correspondiente a localhost.
Para arreglar el archivo, debemos agregar la siguiente información a nuestro archivo host usando nuestro editor de texto desde la consola. En mi caso, uso nano. Ejecutamos:
1 |
sudo nano /etc/hosts |
Y agregamos
1 2 3 4 5 6 7 8 9 10 |
## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost fe80::1%lo0 localhost |
Guardamos con CTRL+O y salimos con CTRL+X.
Con esto se repara nuestro archivo host y ahora ng serve debe funcionar correctamente. Eso es toddy! 😀