ETIMEDOUT在Windows上安装节点包时出错

时间:2015-02-25 15:10:10

标签: windows node.js npm

我正在尝试使用新安装的节点中的npm在我的Windows机器上安装节点包。

但是,我收到了ETIMEDOUT错误。我检查了几个类似问题的其他stackoverflow问题,几乎所有问题都与代理背后的问题有关。我的情况也不是这样。我的系统不在任何代理服务器之后。有人可以帮我解决它。

PS C:\windows\system32> npm -v
2.5.1
PS C:\windows\system32> npm install bower -g
npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "i
nstall" "bower" "-g"
npm ERR! node v0.12.0
npm ERR! npm  v2.5.1
npm ERR! code ETIMEDOUT
npm ERR! errno ETIMEDOUT
npm ERR! syscall connect

npm ERR! network connect ETIMEDOUT
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! Please include the following file with any support request:
npm ERR!     C:\windows\system32\npm-debug.log

11 个答案:

答案 0 :(得分:20)

我发布这个答案,以防有些人面临同样的问题。 我能够通过运行以下命令来解决这个问题:

npm config delete proxy

答案 1 :(得分:5)

我尝试了可以​​在GitHub论坛和StackOverflow主题上找到的所有建议的解决方案。最后,禁用我的路由器的防火墙立即解决了这个问题。

我使用的是Windows 10,节点4.0.0和npm 2.13.4。

答案 2 :(得分:4)

首先,跑  npm config list 并检查你是否支持代理。如果是这样,请尝试运行

npm config delete proxy
npm config delete http-proxy
npm config delete https-proxy

根据要求

**如果此方法不起作用,请重新安装nodejs。

答案 3 :(得分:2)

您可以尝试使用以下命令限制同时连接的数量(例如3个最大同时连接数):

npm set maxsockets 3

自npm@3.8.0起,CLI已允许此选项。默认值为50个最大同时连接数。有关详细信息,请参阅this link

答案 4 :(得分:2)

首先看一下npm配置列表:

npm config list

如果您没有找到http-proxyhttps-proxyproxy correctly设置,那么 您需要配置npm以使用Web代理。例如:

npm config set proxy http://proxy.company.com:8080 
npm config set https-proxy http://proxy.company.com:8080 
npm config set http-proxy http://proxy.company.com:8080

答案 5 :(得分:0)

我解决了:

npm config set proxy null

答案 6 :(得分:0)

我解决了以下问题:

npm config rm proxy
npm config rm https-proxy

npm config delete http-proxy
npm config delete https-proxy

set HTTP_PROXY=null
set HTTPS_PROXY=null

答案 7 :(得分:0)

我遇到了同样的错误。根本原因是代理设置:这里提供了几个答案来重置代理,但它们都没有为我工作。 下面的命令解决了我的问题,试一试。

npm config rm proxy 
npm config rm https-proxy

答案 8 :(得分:0)

对于在公司工作的人员(您无法删除或编辑组织的代理配置):

您的用户文件夹中必须有一个.npmrc文件。如果没有,则可以创建一个。可以编辑此文件以注册组织的代理设置。联系您组织的IT团队以获取相关的代理详细信息。

我组织的.npmrc文件内容示例:

strict-ssl=false
registry=https://nexus.com/nexus/content/groups/npm-read/
proxy=http://primary-proxy.gslb.intranet.com:8080/
https-proxy=http://primary-proxy.gslb.intranet.com:8080

可以在您的用户文件夹中找到此文件:

enter image description here

答案 9 :(得分:0)

由于此错误,我之前无法安装任何软件包,然后在1个小时后,我终于解决了该问题,因为我不在代理后面,但是在npm config中设置了代理参数,这就是显示该错误的原因。 / p>

我发布它是因为,如果任何人都面临相同的问题,并且他们不在任何代理之后,那么他们可以使用以下命令:-

npm config rm代理

npm config rm https-proxy

npm config删除http-proxy

npm config删除https-proxy

设置HTTP_PROXY = null

设置HTTPS_PROXY = null

答案 10 :(得分:0)

解决此问题的一种方法是将 Fiddler 设置为您的代理服务器。这可能只适用于 Windows。

运行 Fiddler,输入以下命令:

npm config set proxy http://localhost:8888

npm config set https-proxy http://localhost:8888

在您执行此操作之前,规则 -> 自动验证