Mac环境下npm执行命令出现getaddrinfo错误的原因及解决建议?
解决Mac Ventura下npm命令触发
rcmd: getaddrinfo错误的排查思路 先验证基础网络连通性
- 执行
ping registry.npmjs.org,确认能否正常解析域名并连通。如果不通,说明DNS解析存在问题,直接排查系统DNS配置。 - 执行
nslookup registry.npmjs.org,查看返回的IP地址是否正常,若返回错误,优先检查DNS服务器设置。
- 执行
检查npm的源与代理配置
- 执行
npm config get registry,确认是否使用正确的官方源(默认应为https://registry.npmjs.org/)。如果是自定义源,先切换回官方源测试:npm config set registry https://registry.npmjs.org/ - 检查是否有代理干扰:执行
npm config get proxy和npm config get https-proxy,如果存在不必要的代理设置,用npm config delete proxy和npm config delete https-proxy清除。
- 执行
重置系统DNS缓存
- 在终端执行
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder,刷新DNS缓存后再尝试npm命令。
- 在终端执行
修复Homebrew安装的npm环境
- 重新安装npm:
brew reinstall npm,确保安装过程无报错。 - 检查node与npm版本兼容性:
node -v和npm -v,npm 19.x需要搭配Node.js 20.x及以上版本,若版本不匹配,执行brew upgrade node升级node。
- 重新安装npm:
排查系统网络设置
- 打开系统设置-网络,修改当前网络的DNS服务器为公共DNS(如8.8.8.8、1.1.1.1),应用设置后重启网络再测试。
- 临时关闭防火墙或VPN软件,排除网络拦截的可能。
内容的提问来源于stack exchange,提问作者John Kitchin
相关产品推荐
相关产品推荐

