Npm在更新到nodejs 8后抛出错误

时间:2017-07-24 21:14:57

标签: node.js npm npm-install

我将nodejs更新到最新版本后,在尝试运行npm install安装软件包时总是出错:

npm WARN registry Using stale data from http://registry.npmjs.org/ because the host is inaccessible -- are you offline?
npm WARN registry Using stale package data from http://registry.npmjs.org/ due to a request error during revalidation.
npm ERR! code ENOTFOUND
npm ERR! errno ENOTFOUND
npm ERR! network request to http://registry.npmjs.org/escope failed,      reason: getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:80
npm ERR! network This is a problem 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'

我的互联网连接没有任何问题,我禁用了https:https://registry.npmjs.org的路由并将其替换为http - 第一次安装正常工作,并且在开始工作后不再使用。

节点版本8.2.1

npm版本5.3.0

感谢您的帮助。

4 个答案:

答案 0 :(得分:12)

如果它对任何人都有帮助:对我有用的唯一解决方案是ping注册表以找到IP。而我获得知识产权的事实意味着我没有被阻止

ping registry.npmjs.org

64 bytes from registry.npmjs.org (151.101.60.162): icmp_seq=1 ttl=52 time=87.3 ms

在我的hosts文件(Im in centos / etc / hosts /)中将IP设置为此主机:

151.101.60.162 registry.npmjs.org

我几乎可以肯定这是NPM中的一些小故障

答案 1 :(得分:11)

您可能需要检查您的NPM代理设置,并可能将其删除。

npm config get proxy
npm config rm proxy
npm config rm https-proxy

有人可能期望全新安装的NodeJS + NPM不会配置代理。奇怪的是,我的确定了一个代理定义,指向一个IP和端口3128.删除代理就行了。

答案 2 :(得分:0)

我尝试第一种解决方案,ping Registry.npmjs.org并将其添加到主机文件,不起作用,然后尝试第二种方法:

npm config get proxy
npm config rm proxy
npm config rm https-proxy

这对我有用。 使用“ npm config get proxy”,我的端口号为8080,现在为空。

我不知道这个价值来自何处。

答案 3 :(得分:0)

按照以下命令提示符中的说明设置代理。

npm config set proxy http://1X.XX.X.40:80

它解决了这个问题。