npm用ECONNRESET安装任何东西

我遇到了一个很大的问题,因为npm无法在数据中心的虚拟机上安装任何东西,因为我不断收到ECONNRESET失败。

我已经尝试从http到https的设置registry,并没有改变再次回来,我甚至不能升级npm没有失败。

我已经在这一天,现在没有得到任何地方,因此要求。

我最终试图安装一个meteor应用程序与MUP,如果这有什么区别。

最后一次尝试的输出是

taralga-infolite% npm install npm@latest -g 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 settings. 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 Linux 3.13.0-74-generic npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "npm@latest" "-g" npm ERR! cwd /home/pnunn npm ERR! node -v v0.10.36 npm ERR! npm -v 1.4.28 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! /home/pnunn/npm-debug.log npm ERR! not ok code 0 

日志文件是

 1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'install', 'npm@latest', '-g' ] 2 info using npm@1.4.28 3 info using node@v0.10.36 4 verbose node symlink /usr/bin/node 5 verbose cache add [ 'npm@latest', null ] 6 verbose cache add name=undefined spec="npm@latest" args=["npm@latest",null] 7 verbose parsed url { protocol: null, 7 verbose parsed url slashes: null, 7 verbose parsed url auth: null, 7 verbose parsed url host: null, 7 verbose parsed url port: null, 7 verbose parsed url hostname: null, 7 verbose parsed url hash: null, 7 verbose parsed url search: null, 7 verbose parsed url query: null, 7 verbose parsed url pathname: 'npm@latest', 7 verbose parsed url path: 'npm@latest', 7 verbose parsed url href: 'npm@latest' } 8 verbose cache add name="npm" spec="latest" args=["npm","latest"] 9 verbose parsed url { protocol: null, 9 verbose parsed url slashes: null, 9 verbose parsed url auth: null, 9 verbose parsed url host: null, 9 verbose parsed url port: null, 9 verbose parsed url hostname: null, 9 verbose parsed url hash: null, 9 verbose parsed url search: null, 9 verbose parsed url query: null, 9 verbose parsed url pathname: 'latest', 9 verbose parsed url path: 'latest', 9 verbose parsed url href: 'latest' } 10 verbose addNamed [ 'npm', 'latest' ] 11 verbose addNamed [ null, null ] 12 silly lockFile 588f5fcc-npm-latest npm@latest 13 verbose lock npm@latest /home/pnunn/.npm/588f5fcc-npm-latest.lock 14 info addNameTag [ 'npm', 'latest' ] 15 verbose request where is /npm 16 verbose request registry http://registry.npmjs.org/ 17 verbose request id 08cd751c52e5f075 18 verbose url raw /npm 19 verbose url resolving [ 'http://registry.npmjs.org/', './npm' ] 20 verbose url resolved http://registry.npmjs.org/npm 21 verbose request where is http://registry.npmjs.org/npm 22 info trying registry request attempt 1 at 13:51:28 23 http GET http://registry.npmjs.org/npm 24 info retry will retry, error on last attempt: Error: read ECONNRESET 25 info trying registry request attempt 2 at 13:51:38 26 http GET http://registry.npmjs.org/npm 27 info retry will retry, error on last attempt: Error: read ECONNRESET 28 info trying registry request attempt 3 at 13:52:38 29 http GET http://registry.npmjs.org/npm 30 silly lockFile 588f5fcc-npm-latest npm@latest 31 silly lockFile 588f5fcc-npm-latest npm@latest 32 error network read ECONNRESET 32 error network This is most likely not a problem with npm itself 32 error network and is related to network connectivity. 32 error network In most cases you are behind a proxy or have bad network settings. 32 error network 32 error network If you are behind a proxy, please make sure that the 32 error network 'proxy' config is set properly. See: 'npm help config' 33 error System Linux 3.13.0-74-generic 34 error command "/usr/bin/node" "/usr/bin/npm" "install" "npm@latest" "-g" 35 error cwd /home/pnunn 36 error node -v v0.10.36 37 error npm -v 1.4.28 38 error syscall read 39 error code ECONNRESET 40 error errno ECONNRESET 41 verbose exit [ 1, true ] 

如果我尝试和npm安装下划线或npm安装服务器(这是mup安装失败的两个当前包),我基本上得到同样的东西。

我已经运行一个tracert(实际上是mtr)registry.npmjs.org并没有得到任何数据包丢失。

任何build议还有什么要尝试?

彼得。

最后想出一个方法来做这个工作。

原来的答案是两倍…首先,更新npm到最新版本。 要在我的系统上做到这一点,我不得不这样做

 sudo mv /usr/bin/npm /usr/bin/npm.old sudo /usr/bin/npm.old install npm -g 

然后改变registry使用镜像,并在全球范围内(这花了我很长时间的工作,我错过了configuration中的-g标志)

 sudo npm config set registry https://skimdb.npmjs.com/registry -g 

我也把重试的次数增加到了10次

 sudo npm config set fetch-retries 10 -g 

我的/ etc / npmrc文件现在是

 registry=https://skimdb.npmjs.com/registry fetch-retries=10 

这实际上是在Linux系统上设置这些的更简单的方法。

mup需要一段时间才能部署这些站点,但至less现在它可以可靠地工作。 默认的npmregistry肯定有问题。 我使用wget来下载一些.tgz软件包.npm遇到了问题,最多需要10次才能获得服务器没有立即重置的连接。 镜子似乎更加稳定。