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

Bhu*_*a K 18 windows node.js npm angularjs npm-install

我正在建立一个企业网络.

试图安装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
Run Code Online (Sandbox Code Playgroud)

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

仍然得到同样的错误.

rsp*_*rsp 27

要尝试的事情:

  1. 确保你有互联网连接: ping 8.8.8.8
  2. 确保你有DNS解析器工作: ping www.google.com
  3. 确保你可以访问registry.npmjs.org: 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
Run Code Online (Sandbox Code Playgroud)

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

要在Chrome中查看代理配置,请参阅此内容.

更新2

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

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

可以通过计算机上安装的防火墙或网络中的路由器阻止网络访问.如果不了解贵公司的具体配置,很难说.


Nag*_*ddy 11

我尝试了很多,但这对我来说很好。

npm config rm proxy
npm config rm https-proxy
Run Code Online (Sandbox Code Playgroud)

如果它不起作用,以上 2 个命令就足够了,也试试这个。

npm config --global rm proxy
npm config --global rm https-proxy
Run Code Online (Sandbox Code Playgroud)


jan*_*hez 9

首先,编辑NetworkManager.conf文件:

vim /etc/NetworkManager/NetworkManager.conf
Run Code Online (Sandbox Code Playgroud)

评论此行:

#dns=dnsmasq
Run Code Online (Sandbox Code Playgroud)

最后

sudo service network-manager restart
sudo service docker restart
Run Code Online (Sandbox Code Playgroud)


小智 7

你可以使用这个命令

npm config delete proxy
Run Code Online (Sandbox Code Playgroud)

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


小智 6

使用:https : //registry.npmjs.org/ 确保您尝试连接到:

Registry.npmjs.org

如果没有错误,请尝试清除缓存

npm cache clean --force然后尝试npm install

即使你有任何错误

npm配置设置注册表https://registry.npmjs.org/ 然后尝试npm install -g @ angular / cli

  • `npm 配置集注册表 https://registry.npmjs.org/` 是关键。谢谢! (2认同)