微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用蜂窝热点时,npm 无法访问互联网

如何解决使用蜂窝热点时,npm 无法访问互联网

在 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

解决方法

您的运营商可能已经开始执行他们的服务条款中可能包含的“无网络共享”规则。

在不查看您的网络设置的情况下很难说更多,但从您的浏览器流量仍然很好的事实来看,我怀疑某种代理确实被注入了您的管道:它可以以某种方式被推送到您的 Windows 主机或透明地处理网络上的所有 http 流量。

我认为测试该理论是否正确的一种方法是在您的手机上设置 VPN 客户端并将所有受限制的流量路由到那里。

,

您可以尝试编辑主机文件以手动分配 DNS 条目并使用蓝牙网络共享。

,

您可以先尝试清除缓存

$ npm cache clean --force 

我知道没有关系,但在你的情况下是无害的, 如果这不起作用。 那么,也许你可以使用一面镜子

$ npm config set registry https://registry.npm.taobao.org/

并使用 npm install

$ npm install your-lib-name

您可以稍后使用 npm set registry 重新设置

$ npm set registry https://registry.npmjs.org/
,

首先,查看最新的Windows更新列表,在此期间是否安装了kb?不?尝试在具有网络支持的安全模式下加载您的操作系统,它是否解决了问题并在安全模式下工作?不?使用移动接入点检查 [ipconfig /all,route print,tracert google.com] 的结果,使用 Wi-fi 比较 [ipconfig /all,tracert google.com] 的结果。 最后也是最困难的,但 100% 的方式.. 加载并安装 WireShark,设置过滤器以嗅探 http、https 并在你的 shell 中启动互联网连接,它在哪一步卡住了?

,

如果你安装了 Dynatrace,这个程序可能会破坏 npm 的正常工作。卸载 Dynatrace 后,问题可能会解决。

此外,使用不同的防病毒软件、反恶意软件软件对 rootkit、间谍软件、病毒等进行全面扫描并清除发现的内容有助于解决问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。