📌  相关文章
📜  WSL2 对 https 的请求:registry.npmjs.org 纱线失败,原因:getaddrinfo EAI_AGAIN registry.npmjs.org (1)

📅  最后修改于: 2023-12-03 14:48:35.501000             🧑  作者: Mango

WSL2对https的请求:registry.npmjs.org线路失败

在WSL2系统上,有时候我们会在使用npm命令时遇到请求registry.npmjs.org失败的情况,报错信息为:

getaddrinfo EAI_AGAIN registry.npmjs.org

这种情况通常发生在网络环境较为复杂的情况下。针对这种问题,我们需要做出一些调整。

解决方案
1. 修改hosts文件

我们可以在WSL2系统的hosts文件中添加registry.npmjs.org的地址映射,使其能够准确解析,方法如下:

在WSL2中运行如下命令:

sudo nano /etc/hosts

在打开的文件中加入以下行:

13.33.87.13 registry.npmjs.org

然后保存文件,并在WSL2中重启网络服务:

sudo /etc/init.d/networking stop
sudo /etc/init.d/networking start
2. 使用cnpm

由于npm官方包管理器在国内访问速度较慢,我们也可以使用npm的国内镜像cnpm来加速安装,方法如下:

npm install -g cnpm --registry=https://registry.npm.taobao.org

然后使用cnpm代替npm进行操作即可,如:

cnpm install package-name
总结

以上两种方法都可以有效解决WSL2系统在进行npm包安装或其他操作过程中遇到registry.npmjs.org请求失败的情况。同时也提供了一些解决类似问题的思路和方法,希望对大家有所帮助。