我没有使用代理,我只是一个尝试学习如何在我的机器 (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。我不知道该怎么办。
我试过了..
- 删除主目录中的 package.json。删除
- 我的主目录中的 package-lock.json。删除 .npm 目录 在我的家庭目录中。
- 使用 npm config 命令清除缓存
- 将配置中的 https-proxy 设置为空设置代理
- 配置为 null 将注册表设置为 https://registry.npmjs.org
- 将注册表设置为 htpp://registry.npmjs.org 已卸载 npm
- 然后依赖项重新安装未安装的 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/