J'avais cette erreur parce que j'exécutais npm dans un conteneur (docker) dans WSL2, et docker dans WSL2 configurait les mauvais serveurs de noms dans les conteneurs, rendant le conteneur incapable de résoudre les hôtes.
Pour voir si votre conteneur (ou même votre hôte) peut résoudre les hôtes, vous pouvez essayer d'exécuter : curl https://github.com
. Dans mon cas, j'ai reçu curl: (6) Could not resolve host: github.com
.
L'erreur dans le conteneur docker ne se produit pas si je n'utilise pas le pont par défaut, mais si j'utilise un pont personnalisé et que je définis le conteneur avec celui-ci, auquel cas l'indicateur resolv.conf
se retrouve avec le bon serveur de noms :
$ cat /etc/resolv.conf
nameserver 127.0.0.11
options ndots:0
L'ip 127.0.0.11
correspond au serveur DNS de docker, ce qui résout le problème dans mon cas.
Si vous n'exécutez pas npm dans un conteneur, il se peut que votre problème soit lié à une mauvaise configuration de l'application resolv.conf
(si vous êtes dans une machine Linux, ou dans Windows avec WSL/WSL2).