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

Angularjs 错误:getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443,angularjs,node.js,windows,npm,npm-install,Angularjs,Node.js,Windows,Npm,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

我在一个公司网络上工作

正在尝试安装
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配置集注册表https://registry.npmjs.org/

仍然出现相同的错误。

要尝试的内容:

  • 确保您有internet连接:
    ping 8.8.8.8
  • 确保DNS解析程序正常工作:
    ping www.google.com
  • 确保您可以访问registry.npmjs.org:
    ping registry.npmjs.org
  • 确保您可以通过https进行连接
  • 在浏览器中尝试:

    确保您正在尝试连接到:

    • 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 如果您可以在浏览器中访问,但无法运行
    ping registry.npmjs.org
    ,则意味着您的浏览器必须配置为使用代理,或者必须限制浏览器以外的其他程序使用internet

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

    计算机上安装的防火墙或网络中的路由器可能会阻止网络访问。如果不知道贵公司的具体配置,很难说

    更新3
    删除环境变量“https\u proxy”(如果有),或者为“https\u proxy”(https\u proxy)使用正确的值,因为我认为如果系统连接到internet,则可能是代理问题

    执行此操作可删除代理

    npm配置删除代理


    首先,编辑NetworkManager.conf文件:

    vim /etc/NetworkManager/NetworkManager.conf
    
    评论这行:

    #dns=dnsmasq
    
    最后

    sudo service network-manager restart
    sudo service docker restart
    
    如果你想打开 所有设置>网络>网络代理 将方法设置为自动并保存。

    使用: 确保您正在尝试连接到:

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

    npm cache clean --force
    
    然后试试看

    npm install
    
    npm install -g @angular/cli
    
    即使你有任何错误

    npm config set registry https://registry.npmjs.org/
    
    然后试试看

    npm install
    
    npm install -g @angular/cli
    

    您可以使用此命令

    npm config delete proxy
    

    之所以会发生这种情况,是因为
    易受严重漏洞的影响。因此,您需要通过运行上面的命令来覆盖它。

    我也有同样的问题。原因是公司代理问题。 解决方案是将代理设置设置为@rsp

    npm config set proxy http://example.com:8080
    npm config set https-proxy http://example.com:8080
    
    但后来我面临同样的问题。这一次的原因是我的密码包含一个特殊字符

    在此命令中,您不能提供具有特殊字符的密码

    。所以,解决方案是在密码中提供百分比编码的特殊字符

    例如#必须提供as%23


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

    npm config rm proxy
    npm config rm https-proxy
    
    如果不起作用,以上两个命令就足够了,也可以试试这个

    npm config --global rm proxy
    npm config --global rm https-proxy
    

    我花了5个多小时试图在Windows8.1下删除此消息。所以我想和大家分享我的案例,节省一些人的时间。我不是幕后黑手。。。但设置代理有助于解决问题。所以我深入研究,发现问题是由Comodo防火墙引起的。。。它阻止了cmd,因为我安装包的速度太快(关闭甚至关闭防火墙都无济于事,这让我花了这么长时间才发现问题……似乎有其他防火墙进程在后台运行)。您可能与安装的任何其他防火墙/防病毒软件有相同的问题,因此请确保cmd未被它们阻止。祝你好运

    我在电脑上安装了一个全新的Windows 10,并在命令行上尝试了这一点,它的效果非常好:


    npm config rm https proxy

    在我的例子中,它只是一个间歇性的问题,似乎在几次尝试后都不起作用,然后查看(网页工作正常),再试一次,再试一次,然后就起作用了。

    对于Windows子系统Linux:

    重新启动我的WSL终端(bash/shell)修复了这个问题(不过重新启动需要几分钟)

    使用nslookup www.google.com
    或npm.org检查连接。

    首先,您需要使用此命令

    npm config delete proxy
    
    npm配置集注册表

    我们这样做是为了将公司企业注册中心设置为默认注册中心


    您也可以尝试其他给定的解决方案。

    如果您使用代理,则必须为npm设置代理以将其连接到回购

    npm config set registry http://registry.npmjs.org/
    npm config set proxy http://myusername:mypassword@proxy.somecompany.com:8080
    npm config set https-proxy http://myusername:mypassword@proxy.somecompany.com:8080
    npm config set strict-ssl false
    set HTTPS_PROXY=http://myusername:mypassword@proxy.somecompany.com:8080
    set HTTP_PROXY=http://myusername:mypassword@proxy.somecompany.com:8080
    
    注意如果您的密码包含特殊字符@例如:密码:mypwd1@xyz 然后使用%40代替@Ex:

    npm config set proxy http://myusername:mypwd1%40xyz@proxy.somecompany.com:8080
    

    npm配置集注册表https://registry.npmjs.org/
    

    这是我唯一的解决方案。

    大多数情况下,如果您使用的是组织提供的系统,并且您已连接到其vpn,则会出现此问题。
    在这种情况下,请断开与vpn的连接,然后尝试执行此命令。

    您的系统是否已连接到internet?正如错误消息所述,您在连接到注册表.npmjs.org
    时遇到问题。按照州政府的建议,在计算机上正确配置网络访问。@abdulbarik--是的。系统是康涅