错误的ERR!网络getaddrinfo ENOTFOUND

时间:2014-04-21 08:21:49

标签: node.js npm

尝试使用NPM安装任何软件包时出现npm ERR! network getaddrinfo ENOTFOUND错误。我知道在同一个问题上有很多线程,但我找不到任何可以帮助我的线程。

我已设置代理&我认为这与代理没有正确设置\没有使用正确的URL有关。

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

设置代理是否正确时,有没有办法检查我正在使用的URL?我是否需要采取任何措施来纠正这个问题?

enter image description here

18 个答案:

答案 0 :(得分:25)

可能是因为代理不代表 https 。 我所做的是清除〜/ .npmrc的代理内容,或使用

    npm config delete proxy

除此之外,还建议nrm解决此问题。

答案 1 :(得分:12)

我将代理设置为

npm config set http_proxy=http://domain:8080

而不是使用正确的方式

npm config set proxy http://domain:8080

答案 2 :(得分:8)

不使用npm config set http_proxy=http://address:8080设置代理,而是转到〜/ .npmrc并删除代理配置。这解决了我的问题。

答案 3 :(得分:6)

我也遇到了这个错误,但我目前没有在代理服务器后面工作,因此使用npm config set proxy=http://address:8080无法帮助,~/.npmrc也不包含任何代理设置。在我的案例中,解决方案只是重新启动计算机

答案 4 :(得分:3)

对我有用的解决方案:

  1. 删除代理:npm config delete proxy
  2. 选中npm config get proxy并返回null

现在,检查是否能够安装该软件包。如果不起作用,请尝试手动编辑配置,键入:npm config edit,记住您在VI编辑器中。

在前面添加;(以注释掉): npm config set proxy http://proxy.company.com:8080 npm config set https-proxy http://proxy.company.com:8080

保存并退出文件:x

现在,尝试安装软件包。应该可以。

答案 5 :(得分:1)

这是由于代理错误造成的:
在cmd中试试这个
npm 配置获取代理
如果这不为空,则转到
c/users/computerName/.npmrc
在记事本中打开它
现在完全清除代理线
试试上面的cmd
如果为空 然后安装角度
npm i -g @angular/cli

答案 6 :(得分:1)

我得到了完全相同的错误,这就是我所做的。

npm config get proxy

它返回“ null”

在记事本中打开“ C:\ Users \ Myname.npmrc”并进行一些更改。这就是我的.npmrc文件现在的样子

http-proxy=http://proxyhost/:proxyport
strict-ssl=false
registry=http://registry.npmjs.org/

答案 7 :(得分:1)

您的代理是否要求您进行身份验证?因为如果是这样,你可能希望像这样配置你的代理。

占位符名称。 用户名是您实际用户名的占位符。 密码是您实际密码的占位符。 proxy.company.com 是您的实体代理的占位符 *端口"代理经过的是你的实际端口。它通常是8080

npm config set proxy "http://username:password@proxy.company.com:port"
npm config set https-proxy "http://username:password@proxy.company.com:port"

答案 8 :(得分:0)

首先,我使用它来检查是否为我设置了代理:

npm config get proxy

它返回null然后我运行此命令

npm config set strict-ssl=false

它为该cmd会话禁用strict-ssl。

您可以使用此

查看完整的配置列表
npm config list ls -l

答案 9 :(得分:0)

第1步:设置代理 npm设置代理http://username:password@companyProxy:8080

npm设置https-proxy http://username:password@companyProxy:8080

npm config set strict-ssl false -g

注意:密码中除了@之外,没有特殊字符。

答案 10 :(得分:0)

由于某种原因,我的错误一直指向配置文件中的“ proxy”属性。这是误导。在进行故障排除期间,我尝试为proxy和https-proxy属性设置不同的值,但只会收到错误消息,以确保正确配置了代理配置,并指向了较旧的值。

使用NPM CONFIG LS -L命令列出配置文件中的所有属性和值。然后,我能够看到有问题的值与https-proxy匹配,因此使用了https-proxy。因此,我更改了代理(我的公司使用了不同的代理),然后它起作用了。我想我会添加这些内容,因为这些细微的令人困惑的错误对它的每个角度都有帮助。

答案 11 :(得分:0)

只需使用以下命令取消设置代理主机:

unset HOST

这对我有用。

答案 12 :(得分:0)

在使用npm安装软件包时,请确保使用最新的npm版本。

在安装JavaScript时,请提及最新版本的NodeJS。例如,在使用devtools安装JavaScript时,请使用以下代码:

devtools i --javascript nodejs:10.15.1

这将下载并安装提到的NodeJS版本。更新版本后,尝试使用npm安装软件包。这对我有用。

答案 13 :(得分:0)

看看您的HTTP_PROXYHTTPS_PROXY环境变量。

我认为我的设置正确,为http://username:password@proxyhost:proxyport,但事实证明它们实际上是造成问题的原因!删除这些变量并重新启动命令提示符后,npm命令再次起作用。

答案 14 :(得分:0)

我输入的地址不正确

http://addressOfProxy.8080

而不是

http://addressOfProxy:8080  

(注意端口号8080之前的冒号。)

答案 15 :(得分:0)

我在Arch Linux发行版中使用npm 14.3.0(w / npm 6.14.5)遇到了这个问题。我只是删除了〜/ .npm目录,然后再试一次,这一次它起作用了。

答案 16 :(得分:0)

好吧,每个人都给出答案,所以我想我也写。

我和其他所有人一样遇到代理问题。为了解决这个问题,我尝试了许多解决方案,但是没有用。

C:\ Users \您的用户名驱动器中搜索 .npmrc 文件名,然后添加以下行:

http://proxy.company.com:8888

enter image description here

我只是这样做,而我解决了。

答案 17 :(得分:-1)

严格的SSL =假

  

proxy = http://ip_address_of_proxy:8088   https-proxy = https://ip_address_of_proxy:8088
  registry = http://registry.npmjs.org/