NPM不安装任何模块:网络套接字挂起

时间:2013-12-05 10:46:47

标签: node.js sockets npm

Salam(意为你好):)

我在ubuntu 12.04上安装了最新版本的node.js,我不在任何代理之后,我的网络设置配置正确,并且自上次NPM工作正常以来完好无损。但是现在NPM挂起了任何模块的安装,并出现以下错误:

nasser@nasser-desktop:~/projects/server v3$ npm install simple-proxy
npm WARN package.json docco@0.6.2 No repository field.
npm http GET https://registry.npmjs.org/simple-proxy
npm http GET https://registry.npmjs.org/simple-proxy
npm http GET https://registry.npmjs.org/simple-proxy
npm ERR! network socket hang up
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.5.0-17-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "simple-proxy"
npm ERR! cwd /home/nasser/projects/serverV3
npm ERR! node -v v0.10.18
npm ERR! npm -v 1.3.8
npm ERR! code ECONNRESET
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/nasser/projects/serverV3/npm-debug.log
npm ERR! not ok code 0

8 个答案:

答案 0 :(得分:88)

我有同样的问题。 似乎ISP的https处理存在一些问题。这样做的:

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

为我工作

答案 1 :(得分:6)

我遇到了同样的问题。在此thread中找到了解决方案。 您可以通过以下操作查看npm正在使用的有效代理:

npm config get proxy
npm config get https-proxy

如果你是一个代理人,请试试这个:

mv ~/.npmrc ~/.npmrc.bak

答案 2 :(得分:2)

我的Windows机器遇到了类似的问题,我通过首先检查我的代理是否通过执行以下命令得到了一些值来修复它。

npm config get proxy

作为回报,我得到了以下内容:

http://usr:pwd@host/:port

因此,如果不在代理层下的任何人通过执行以下命令首先将代理设置为null。

npm config set proxy null

现在,如果你超越你的npm i,它不应该抛出任何网络错误。

答案 3 :(得分:1)

我尝试了多种解决方案,但大多数情况是网络/ ssl和代理问题。网络/ ssl情况很常见,有很多解决方案,但与代理一起我与您共享了修补程序。

重击命令:

npm config set proxy null
npm config set https-proxy null
npm config set http-proxy null

就我而言,我使用的是https://registry.npmjs.org/网址。 NULL代理之后,它开始工作。 npm将默认代理设置为http://my-proxy.com:1080/,因此我们必须更改代理URL或将其设为空。 要获得默认代理,请在bash中点击以下命令。

npm config get proxy

答案 4 :(得分:0)

如果您位于具有用户名和密码身份验证的代理服务器后面,请尝试将代理设置为

npm config set proxy http://username:encodedpassword@proxyaddress:port

npm config set https-proxy http://username:encodedpassword@proxyaddress:port

答案 5 :(得分:0)

在运行之前,请执行以下步骤:npm install -g @angular/cli

  1. npm cache clean(你甚至可以忽略它是否会抛出错误)
  2. npm config set strict-ssl false
  3. npm config set proxy http://myusername:mypassword@proxyaddress:port
  4. npm config set https-proxy http://myusername:mypassword@proxyaddress:port

答案 6 :(得分:0)

将具有您的凭据(如果包含任何特殊字符,则进行编码)的代理和http_proxy字段添加到您的.npmrc文件中,然后再次运行npm install。它应该工作。

例如:

proxy = http://username:passcode@proxyURL:80/ https_proxy = http://username:passcode@proxyURL:80

答案 7 :(得分:-1)

找到.npmrc文件,用记事本打开。然后删除那里的代理设置