问题描述:
- 用cnpm安装报错:
Error: connect ETIMEDOUT at TCPConnectWrap.afterConnect [as oncomplete] (net.js
- 于是改了cnmp的代理为proxy=http://xxxxx
出现报错:(以下为大概摘要)
Get /binary-mirror-config/latest from https://registry.npm.taobao.org error:
ConnectionTimeoutError: Connect timeout for 5000ms,
GET https://registry.npmjs.com/binary-mirror-config/latest -2 (connected: false, keepalive socket: false, agent status: {"createSocketCount":4,"createSocketErrorCount":0,"closeSocketCount":4,"errorSocketCount":0,"timeoutSocketCount":0,"requestCount":0,"freeSockets":{},"sockets":{},"requests":{}}, socketHandledRequests: 1, socketHandledResponses: 0) ……
Error:Cannot find moduld ‘bug-versions/package.json’
- 于是用npm卸载了cnpm,发现npm文件夹都不见了,于是重装了node.js。
重装cnpm发现该命令不可用,于是添加了系统变量(过于苦逼安装的盘和路径名还不搭了,希望大家直接装下来就能用吧)经过重重苦难,cnpm可以-version了。 - 然后cnpm安装又出现2的报错。
- 于是就觉得会不会是bug-versions/package.json没有的问题,执行了
npm install -g bug-versions -d --save
之后报错又回到了最初的起点1.的报错,5555~
原因分析:
1.报错的内容里边可以找到使得访问超时的IP,其实就是2.设置的代理的IP。使用 tracert 命令(就是一步一步追踪它的跳转tracert 192.168.xx.xx(你timeout的IP)
)发现那个IP确实无法访问。用cnpm config get proxy
查看了可以正常使用cnpm安装的同学的代理,发现竟然是null呀。
解决方案:
cnpm config set proxy=null
然后就能用了,根本不是什么设置超时时间变长就能解决的问题。总共吧,也就花了七八个小时解决这个问题吧,希望能帮上同样遇到这个问题的苦逼的小朋友。