【问题标题】:how to fix connect ENETUNREACH on npm on linux如何在 Linux 上的 npm 上修复连接 ENETUNREACH
【发布时间】:2022-10-25 04:12:56
【问题描述】:

我没有使用代理,我只是一个菜鸟,试图学习如何在我的机器(linux)上本地使用create-react-app 进行开发

这是tracepath registry.npmjs.org 的输出

 1?: [LOCALHOST]                        0.020ms pmtu 1500
 1:  2001:4451:664:1400:caf6:c8ff:fef2:bdcb                2.906ms !N
 1:  2001:4451:664:1400:caf6:c8ff:fef2:bdcb                0.995ms !N
     Resume: pmtu 1500

我认为这证明我没有使用代理。

但我不断收到此错误

npm ERR! code ENETUNREACH
npm ERR! syscall connect
npm ERR! errno ENETUNREACH

对于任何 npm。我不知道该怎么办。

我努力了..

  1. 正在删除我的主目录中的 package.json。删除
  2. package-lock.json 在我的主目录中。删除 .npm 目录 在我的家庭目录中。
  3. 使用 npm config 命令清除缓存
  4. 将配置中的 https-proxy 设置为 null 设置代理
  5. config to null 将注册表设置为https://registry.npmjs.org
  6. 将注册表设置为 htpp://registry.npmjs.org 已卸载 npm
  7. 和依赖项然后重新安装未安装的 npm 和依赖项,然后安装 nvm 并通过它重新安装节点

    npm install --verbose 没有说任何错误信息

    请有人帮助我,我尝试了几乎没有重新安装我的操作系统的任何事情。

【问题讨论】:

  • tracepath 的输出与您是否使用代理无关。代理只会被特定协议的特定应用程序使用。代理的使用可能会受到环境变量和特定于应用程序的配置文件的影响(并且“代理与否”的问题可能完全不相关)。
  • 我不知道..通过谷歌搜索我发现的许多解决方案是在 npm config 中配置正确的代理。但我不认为我需要这样做

标签: node.js linux npm npm-registry


【解决方案1】:

问题是节点 18(不在 16 上发生)正在尝试首先通过 ipv6 解决。

可以通过导出环境变量来覆盖它:

NODE_OPTIONS = "--dns-result-order=ipv4first"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-24
    • 2022-06-13
    • 1970-01-01
    • 2014-03-13
    • 2018-12-28
    • 1970-01-01
    • 2016-06-06
    • 2021-06-22
    相关资源
    最近更新 更多