Arch Linux下NPM连接registry超时报错EHOSTUNREACH求助
解决NPM连接registry超时(IPv6不可达)问题
临时强制NPM使用IPv4
执行以下命令让NPM优先通过IPv4连接registry,直接完成更新操作:
npm update -g --ipv4
也可以全局配置NPM默认使用IPv4:
npm config set ipv4 true
系统层面禁用IPv6(若网络环境无需IPv6)
如果你的网络本身不支持IPv6,可临时禁用:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1 sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
需要永久生效的话,编辑 /etc/sysctl.d/99-sysctl.conf 文件,添加以下内容:
net.ipv6.conf.all.disable_ipv6=1 net.ipv6.conf.default.disable_ipv6=1
执行 sudo sysctl --system 让配置生效。
验证DNS的IPv4解析
检查registry.npmjs.org的IPv4解析是否正常:
dig registry.npmjs.org A
若能返回有效IPv4地址,说明DNS工作正常,问题仅在于NPM默认优先使用IPv6。
切换至国内NPM镜像(备选方案)
如果上述方法无效,可切换到国内镜像源绕过网络问题:
npm config set registry https://registry.npmmirror.com/
内容的提问来源于stack exchange,提问作者Obsa
相关产品推荐
相关产品推荐

