错误:getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443

新手上路,请多包涵

我在公司网络上工作。

尝试安装 npm. 但我一次又一次地收到此错误。

 $ npm install
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program     Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! node v6.1.0
npm ERR! npm  v3.8.6
npm ERR! code ENOTFOUND
npm ERR! errno ENOTFOUND
npm ERR! syscall getaddrinfo

npm ERR! network getaddrinfo ENOTFOUND registry.npmjs.org    registry.npmjs.org:443
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:\Angular-test\angular-phonecat\npm-debug.log

也试过这个: npm config set registry https://registry.npmjs.org/

仍然得到同样的错误。

原文由 Bhuvana K 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 3.3k
2 个回答

你可以使用这个命令

npm config delete proxy

这是因为 formidable 容易出现严重漏洞。因此,您需要通过运行上述命令来覆盖它。

原文由 Nagnath Bhat 发布,翻译遵循 CC BY-SA 4.0 许可协议

要尝试的事情:

  1. 确保你有互联网连接: ping 8.8.8.8
  2. 确保你有 DNS 解析器工作: ping www.google.com
  3. 确保您可以访问 ping registry.npmjs.org
  4. 确保您可以通过 https 连接。

在您的浏览器中尝试: https ://registry.npmjs.org/

确保您正在尝试连接到:

  • registry.npmjs.org

而不是:

  • "registry.npmjs.org registry.npmjs.org:443"

或其他一些由几个主机名组成的奇怪字符串,因为解析器抱怨包含端口号的主机名很奇怪,它不应该关心。好的,我测试了,对于没有找到的主机,它应该看起来像这样。

更新

从您对这个答案的评论看来,如果您甚至无法 ping 通 8.8.8.8,则您似乎 没有 直接连接到互联网。

如果您使用代理访问 Web,那么您还必须配置 npm 才能使用它。采用:

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

但不是 http://example.com:8080 使用你公司实际需要的东西 - 询问某人或查看你的浏览器是如何配置的。

要在 Chrome 中查看您的代理配置,请参阅

更新 2

如果您 可以 在浏览器中访问 https://registry.npmjs.org/无法 运行 ping registry.npmjs.org 那么这意味着您的浏览器必须配置为使用代理,或者您的浏览器之外的其他程序必须是限制使用互联网。

在任何情况下,您都应该询问您公司的某个人,因为您很可能需要使用特定的代理,或者有人需要解除对您的限制 npm 并允许它访问网络。

安装在计算机上的防火墙或网络中的路由器可能会阻止网络访问。不知道你们公司的具体配置就不好说了。

更新 3

删除环境变量“https_proxy”(如果有)或为“https_proxy”使用正确的值

原文由 rsp 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题