【发布时间】:2021-06-02 16:50:15
【问题描述】:
在 Windows 10 上,当我通过手机的热点连接到互联网时,npm 突然无法在任何终端(Powershell、cmd、wsl 或 VS Code 中的终端)中访问互联网。这已经工作了多年,我看不出是什么催化剂来破坏它(我没有安装任何新的东西或更改任何互联网设置)。如果我使用任何浏览器,互联网都可以正常工作,只是从终端无法正常工作。我已经尝试完全停用防火墙,但这并不能解决问题。在注意到这一点的几天前,我确实运行了 wsl --shutdown 命令,但我不知道即使在 wsl 之外,它也会产生如此广泛的影响。当通过不是来自手机热点的 wifi 时,所有终端也可以正常连接到互联网。问题开始后,我将 Windows 更新到了最新版本的 Windows 10,但这并没有做任何事情。我用的手机是Pixel4A。
更新:我仍然可以 pip 安装包,但我不能将 npm 用于任何需要互联网的东西。例如,运行 npm outdated 会返回:
...
22 verbose Windows_NT 10.0.19042
23 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "outdated"
24 verbose node v12.18.4
25 verbose npm v6.14.6
26 error code ECONNRESET
27 error errno ECONNRESET
28 error network request to http://registry.npmjs.org/express failed, reason: read ECONNRESET
29 error network This is a problem related to network connectivity.
29 error network In most cases you are behind a proxy or have bad network settings.
29 error network
29 error network If you are behind a proxy, please make sure that the
29 error network 'proxy' config is set properly. See: 'npm help config'
我不认为我在使用代理,但是当我在浏览器中运行正在本地构建的应用程序时确实会收到此错误(该应用程序仍在构建):
Proxy error: Could not proxy request /favicon.ico from localhost:3000 to http://localhost/.
这是 nslookup 在 cmd 和 powershell 中返回的内容:
PS C:\> nslookup google.com
Server: UnKnown
Address: 192.168.13.64
Non-authoritative answer:
Name: google.com
Addresses: 2607:f8b0:4006:80a::200e
142.250.80.14
【问题讨论】:
-
您终端上的 nslookup google.com 说什么?可能是 DNS 配置错误,但您的浏览器选择了不同的设置(可能来自 DNS over HTTPS 自动升级或扩展),因此它们仍然有效
-
如果禁用metered connection会怎样?
-
在 PS 上尝试 curl -Uri:"registry.npmjs.org/express"
-
@CodeCaster 热点连接未计量。
-
@Martheen curl 命令以代码 200 退出,所以我认为这是成功的,但它没有改变任何东西。
标签: windows powershell npm cmd hotspot