npm install卡住或报econnrefused/enotfound,大概率是代理配置错误;需先用npm config get proxy检查代理设置,再根据是否需要代理执行删除或正确配置,最后用curl或浏览器验证registry连通性。

遇到 npm install 卡住、报 ECONNREFUSED 或 ENOTFOUND(如 getaddrinfo ENOTFOUND registry.npmjs.org),大概率是代理配置出问题——不是没开代理,而是代理开着却配错了端口、地址,或残留了旧配置。
查当前代理设置
先确认 npm 是否在用代理:
npm config get proxynpm config get https-proxy
如果返回类似 http://127.0.0.1:8080 这样的地址,但你当前没开代理软件,或代理工具实际监听的是 33210 端口,那就会连接失败。空值(null)才表示没启用代理。
关掉无效代理或更新为正确地址
不需要代理时,直接删掉配置:
npm config delete proxynpm config delete https-proxy
需要代理(比如公司内网或科学上网),就设成你代理工具实际使用的地址和端口,例如 Clash 或 Surge 默认 HTTP 代理端口常为 7890:
npm config set proxy http://127.0.0.1:7890npm config set https-proxy http://127.0.0.1:7890
验证代理是否真能通 registry
别只信配置,要实测:
- 用
curl -v https://www.php.cn/link/f3a22d6edd297a48ac3189878051a52f看是否能连通(有响应头即通) - 浏览器打开 https://www.php.cn/link/f3a22d6edd297a48ac3189878051a52f,确认能正常加载 JSON 首页
- 如果 curl 报错
Failed to connect,说明代理没起作用或地址不对
注意:某些代理工具(如 Clash)需开启「允许来自局域网的连接」,否则 127.0.0.1 可能被拒绝。
临时绕过代理测试
加 --no-proxy 参数强制不走代理,快速验证是不是代理惹的祸:
npm install --no-proxy- 或指定镜像源同时禁用代理:
npm install --registry https://registry.npmmirror.com --no-proxy
如果这时能成功安装,基本锁定是代理配置问题,不用再查缓存或权限。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











