node.js - 如何在 Linux 上的 npm 上修复连接 ENETUNREACH

标签 node.js linux npm npm-registry

我没有使用代理,我只是一个尝试学习如何在我的机器 (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 设置为空设置代理
  5. 配置为 null 将注册表设置为 https://registry.npmjs.org
  6. 将注册表设置为 htpp://registry.npmjs.org 已卸载 npm
  7. 然后依赖项重新安装未安装的 npm 和依赖项,然后安装 nvm 并通过它重新安装 Node

npm install --verbose 不显示任何错误消息

请有人帮助我,除了重新安装我的操作系统,我尝试了几乎所有害羞的方法。

最佳答案

问题是 Node 18(不是在 16 上发生)试图首先通过 ipv6 解决。

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

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

关于node.js - 如何在 Linux 上的 npm 上修复连接 ENETUNREACH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72132898/

相关文章:

node.js - 无法安装oracledb@4.0.1

node.js - 安装后不显示完整的 NPM 依赖项列表

javascript - 我如何将数据从 ReactJS 提交表单传递到 AdonisJS

javascript - 如何通过 NodeJS 和 Mocha 执行具有不同结构的不同测试用例

linux - 为什么 OS X 10 中的默认 shell 与 Linux(Mint、Lubuntu...)中的默认 shell 看起来不同?

javascript - Tropo 设置语音不起作用?

linux - 如何将 LAMP 中的文档根文件夹更改为安装位置 (Ubuntu)

linux - 哪个lib属于deb

javascript - Node.js - 在另一个方法完全执行后调用一个方法

javascript - promise 所有并获得请求