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
其余的。