NPM不工作 – “读ECONNRESET”

我有npm的问题,我不能安装任何东西。 这里是错误信息:

C:\Windows\system32>npm install -g yo npm http GET https://registry.npmjs.org/yo npm http GET https://registry.npmjs.org/yo npm http GET https://registry.npmjs.org/yo npm ERR! network read ECONNRESET npm ERR! network This is most likely not a problem with npm itself npm ERR! network and is related to network connectivity. npm ERR! network In most cases you are behind a proxy or have bad network settin gs. npm ERR! network npm ERR! network If you are behind a proxy, please make sure that the npm ERR! network 'proxy' config is set properly. See: 'npm help config' npm ERR! System Windows_NT 6.2.9200 npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "yo" npm ERR! cwd C:\Windows\system32 npm ERR! node -v v0.10.17 npm ERR! npm -v 1.3.8 npm ERR! syscall read npm ERR! code ECONNRESET npm ERR! errno ECONNRESET npm ERR! npm ERR! Additional logging details can be found in: npm ERR! C:\Windows\system32\npm-debug.log npm ERR! not ok code 0 

任何想法为什么是这样的? 这里是我的networking设置,似乎我没有任何代理configuration。 我也禁用了所有的防火墙。

在这里输入图像描述

使用

 npm config set registry http://registry.npmjs.org/ 

所以npm请求http url而不是https

然后尝试相同的npm install命令

你可能想检查你的NPM代理设置,也许删除它。

 npm config get proxy npm config rm proxy npm config rm https-proxy 

有人可能会期望一个全新的NodeJS + NPM安装没有configuration代理。 奇怪的是,我的确有一个代理定义,指向一个IP和端口3128.删除代理的伎俩。

您可能还需要指定代理服务器/端口,在某些环境下,代理的系统设置不足以使npm正常工作。

  npm config set proxy "http://your-proxy.com:80" 

这可能是由于使用sudo安装npm所导致的 – 这会导致caching中的文件被root所有,导致这个问题。 你可以通过运行来修复它:

sudo rm -rf ~/.npm

删除caching。 然后尝试一下你在做什么,确保你永远不会和npm一起使用sudo (或者问题可能会回来)。

更多的信息: npm抛出错误没有sudo

在家中删除您的代理设置,并在办公室networking打开,这可能是恼人的,但它对我工作:

 npm config set proxy http://xxx.xxx.xxx.4:8080 npm config set https-proxy http://xxx.xxx.xxx.4:8080 

 npm config rm proxy npm config rm https-proxy 

在工作中,我不得不加载我的浏览器并浏览一个网页(这certificate我的网页filter)。 然后我重试命令,它成功地运作。

这是一个老问题,但无论如何。

当我尝试部署到heroku时,我遇到了这个问题,而且对我而言,修复工作是更新所使用的npm版本。 我有版本2.xx,我更新到3.xx

我不想切换到registry的http,对我来说,是从最新的Node版本降级到LTS版本(截至现在,6.x)。

如果您有一个保存的无效令牌,您也可能会遇到此错误。 我在使用私人回购时遇到了这种情况,账户被清除并重置,导致令牌失效。 虽然您的回购可能不需要身份validation,但如果您有以前login的令牌,则会被传递,如果无效,则连接将被closures。

您可以通过使用新的用户名和密码重新login来解决这个问题,或者可能通过简单地通过npm登出来解决这个问题。

我有npm抛出这个错误的问题。

所以基本上每当错误被抛出我使用手动安装
从混帐或等待和安装指定的版本,如:

 npm install resolve@^1.1.6 

当单独运行时:

 npm install resolve 

没有工作。

我将node.js从7更新到8,并且npm安装顺利进行。

我认为,也许版本7导致这个问题,因为@luschn降级到6,所以他也没有使用7。

也许registry本身是返回错误,而不会显示他们的状态页面上的问题,因为一段时间后,我可以安装这个破解包,然后继续使用npm install其余的。