【问题标题】:Npm throw an error after update to nodejs 8更新到 nodejs 8 后 Npm 抛出错误
【发布时间】:2017-07-24 21:14:57
【问题描述】:

我将 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'

我的 Internet 连接没有任何问题,我禁用了到 https:https://registry.npmjs.org 的路由并将其替换为 http - 第一次安装有效,但在开始后立即无法再次安装。

节点版本8.2.1

npm 版本5.3.0

感谢您的帮助。

【问题讨论】:

    标签: node.js npm npm-install


    【解决方案1】:

    如果对任何人都有帮助:对我有用的唯一解决方案是 ping 注册表以查找 IP。而且我有 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文件中设置这个主机的IP(我在centos /etc/hosts/):

    151.101.60.162 registry.npmjs.org

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

    【讨论】:

    • 感谢您的回答。它对我有用!这里只是一个问题。我是否需要担心以后删除主机条目?
    • 在 2019 年,此错误仍然存​​在,解决方案仍然有效
    【解决方案2】:

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

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

    人们可能认为全新安装的 NodeJS+NPM 不会配置代理。奇怪的是,我的确实定义了一个代理,指向一个 IP 和端口 3128。删除代理就可以了。

    【讨论】:

    • 不 - 不是这样 - 当我得到代理时,我得到了 nuill。谢谢
    • 试试,npm config 设置注册表registry.npmjs.org 。或者,检查您的 ISP 或公司的防火墙/代理。
    【解决方案3】:

    在您的命令提示符中设置如下所示的代理。

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

    它解决了这个问题。

    【讨论】:

      【解决方案4】:

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

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

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

      我不知道这个值是从哪里来的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-04-14
        • 1970-01-01
        • 2021-02-28
        • 1970-01-01
        • 2023-01-03
        • 2016-02-17
        • 2016-07-20
        相关资源
        最近更新 更多