我在服务器上执行 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
就成功了,没有报错了。