在 Windows 上安装 Node 包时出现 ETIMEDOUT 错误

Posted

技术标签:

【中文标题】在 Windows 上安装 Node 包时出现 ETIMEDOUT 错误【英文标题】:ETIMEDOUT Error while installing Node packages on Windows 【发布时间】:2015-04-27 15:40:34 【问题描述】:

我正在尝试使用全新安装的 node 中的 npm 在我的 windows 机器上安装 node 包。

但是,我收到 ETIMEDOUT 错误。我检查了一些其他类似问题的***问题,几乎所有问题都与代理后面的问题有关。我的情况也不是这样。我的系统不在任何代理服务器后面。谁能帮我解决它。

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

【问题讨论】:

您是否完全、完全、100% 确定您没有使用代理?您确定您的系统未配置为使用代理吗?也许只有 npm 被配置为使用代理......?检查npm config list 我能够解决这个问题。我实际上不在代理后面,但不知何故,代理参数在 npm config 中设置了。我能够通过使用以下命令来解决这个问题:npm config delete proxy 我也有同样的问题。您如何找出它实际尝试连接的位置? 【参考方案1】:

我发布此答案以防有人面临同样的问题。

我可以通过运行以下命令来解决这个问题:

npm config delete proxy

【讨论】:

我遇到了完全相同的问题,这为我解决了问题。有趣的是,只有在应用程序文件夹中运行的“npm install”失败了。我运行“npm install -g gulp”没有任何问题。我是节点的菜鸟,所以不知道这是否可以预期。 你值得。去拿你的魔神 真的帮了我哥们你让我的一天 我不明白。如果我在代理后面,我仍然需要使用代理从 npm 获取包,对吗?【参考方案2】:

首先,运行 npm config list 并检查您是否在代理后面。如果是这样,请尝试运行

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

根据需要

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

【讨论】:

为我工作! ?【参考方案3】:

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

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

【讨论】:

【参考方案4】:

首先查看 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】:

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

npm set maxsockets 3

自 npm@3.8.0 以来,CLI 一直允许此选项。默认为最多 50 个同时连接。如需进一步参考,请参阅this link。

【讨论】:

【参考方案6】:

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

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

npm 配置 rm 代理

npm config rm https-proxy

npm config 删除 http-proxy

npm 配置删除 https-proxy

设置 HTTP_PROXY=null

设置 HTTPS_PROXY=null

【讨论】:

【参考方案7】:

我解决了:

npm config set proxy null

【讨论】:

【参考方案8】:

我用以下方法解决了:

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

【讨论】:

【参考方案9】:

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

npm config rm proxy 
npm config rm https-proxy

【讨论】:

这看起来像两个命令 - 你可以编辑以清理格式吗?【参考方案10】:

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

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

我的组织的.npmrcfile 内容示例:

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

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

【讨论】:

【参考方案11】:

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

运行 Fiddler,输入以下命令:

npm config set proxy http://localhost:8888

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

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

【讨论】:

【参考方案12】:

如果上述解决方案都不适合您,请尝试切换您的节点版本。

【讨论】:

以上是关于在 Windows 上安装 Node 包时出现 ETIMEDOUT 错误的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 上使用 Create React App 安装 Node Sass 时出现错误消息问题讨厌 Sass,我该怎么办?

尝试在我的 RoR 项目上“安装包”时出现错误。 [视窗 8]

使用 conda 在 Windows 上构建 Python 包时出现奇怪的“拒绝访问”错误

安装Visual Studio 语言包时出现windows 程序兼容模式已打开.请将其关闭

python安装大型包时出现错误Unable to find vcvarsall.bat

VS Code 运行 JavaScript 文件时出现“node...”乱码或错误