npm cb() never called!和 Error: getaddrinfo ENOTFOUND registry.npmjs.com registry.npmjs.com:443

我在服务器上执行 npm i 时竟然出错了,下面是错误的提示:

npm ERR! cb() never called!

npm ERR! This is an error with npm itself. Please report this error at:
npm ERR!     <https://npm.community>

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2019-09-28T06_11_30_969Z-debug.log

然后我看npm不行,又用 cnpm i 结果又出现另外一个错误

Get /binary-mirror-config/latest from https://registry.npm.taobao.org error: Error: getaddrinfo ENOTFOUND registry.npmjs.com registry.npmjs.com:443
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:67:26)
Get /bug-versions/latest from https://registry.npm.taobao.org error: Error: getaddrinfo ENOTFOUND registry.npmjs.com registry.npmjs.com:443
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:67:26)

百度了好久终于找到了解决方案,这里就贴出来,参考来自 博客园–醉东风

解决

1. ping npm仓库

先测试看能不能ping通,我的服务器就是ping不通,你们的也是则继续往下看

ping registry.npmjs.org
2. 修改resolv.conf文件
vim /etc/resolv.conf
// 我服务器的 resolv.conf 文件只有下面这一行代码
options timeout:2 attempts:3 rotate single-request-reopen
3. 添加配置

我参考其他阿里云的resolv.conf文件配置发现出问题的这台服务器少了以下配置,就复制过去

; generated by /usr/sbin/dhclient-script
nameserver 100.100.2.136
nameserver 100.100.2.138

这是添加配置后的完整resolv.conf文件

options timeout:2 attempts:3 rotate single-request-reopen
; generated by /usr/sbin/dhclient-script
nameserver 100.100.2.136
nameserver 100.100.2.138

:wq 保存后再去 npm i 就成功了,没有报错了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值