卷曲:(6)无法解析主机:在WSL上

use*_*457 15 curl windows-10 windows-subsystem-for-linux

我已经在 WSL 上安装了 Ubuntu 20.04 LTS。

我正在尝试运行以下命令:

curl https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch
Run Code Online (Sandbox Code Playgroud)

它失败并出现错误:

卷曲:(6)无法解析主机:developer.mozilla.org

我尝试过其他方法,它有效,例如

$ curl https://google.com
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="https://www.google.com/">here</A>.
</BODY></HTML>
Run Code Online (Sandbox Code Playgroud)

以下是一些细节:

$ nslookup developer.mozilla.org
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
developer.mozilla.org   canonical name = d1avawhiqh9uo1.cloudfront.net.
Name:   d1avawhiqh9uo1.cloudfront.net
Address: 52.84.112.124
Name:   d1avawhiqh9uo1.cloudfront.net
Address: 52.84.112.61
Name:   d1avawhiqh9uo1.cloudfront.net
Address: 52.84.112.82
Name:   d1avawhiqh9uo1.cloudfront.net
Address: 52.84.112.105
Name:   d1avawhiqh9uo1.cloudfront.net
Address: 2600:9000:203c:8e00:13:e62f:2040:93a1
Name:   d1avawhiqh9uo1.cloudfront.net
Address: 2600:9000:203c:9c00:13:e62f:2040:93a1
Name:   d1avawhiqh9uo1.cloudfront.net
Address: 2600:9000:203c:a000:13:e62f:2040:93a1
Name:   d1avawhiqh9uo1.cloudfront.net
Address: 2600:9000:203c:d800:13:e62f:2040:93a1
Name:   d1avawhiqh9uo1.cloudfront.net
Address: 2600:9000:203c:f600:13:e62f:2040:93a1
Name:   d1avawhiqh9uo1.cloudfront.net
Address: 2600:9000:203c:200:13:e62f:2040:93a1
Name:   d1avawhiqh9uo1.cloudfront.net
Address: 2600:9000:203c:1c00:13:e62f:2040:93a1
Name:   d1avawhiqh9uo1.cloudfront.net
Address: 2600:9000:203c:4e00:13:e62f:2040:93a1
Run Code Online (Sandbox Code Playgroud)

请帮助理解问题。

Dar*_*ppi 18

接受的解决方案对我不起作用。

搜索更多一点让我遇到了 WSL 抛出 (6) 尝试安装 NVM 时无法解析主机:raw.githubusercontent.com 并且无法 ping google.com

这对我有用。请参阅下面引用的答案

你可以尝试运行这个

sudo rm /etc/resolv.conf
sudo bash -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
sudo bash -c 'echo "[network]" > /etc/wsl.conf'
sudo bash -c 'echo "generateResolvConf = false" >> /etc/wsl.conf'
sudo chattr +i /etc/resolv.conf
Run Code Online (Sandbox Code Playgroud)

它会删除运行 WSL 时自动生成的resolve.config 文件,然后创建一个新文件并放入“nameserver 8.8.8.8”,然后创建一个 wsl.conf 文件并添加 [network] 和generateResolveConf = false 以防止自动生成该文件文件

然后

ping google.com


Tie*_*ies 7

对我来说,这是在 Windows 11 升级后发生的。

我必须更新 i/etc/wsl.conf并重新启动我的 WSL 实例

[network]
generateResolvConf = true
Run Code Online (Sandbox Code Playgroud)


Adr*_*ian 4

这对我有用:https ://github.com/microsoft/WSL/issues/4731#issuecomment-562935992

当我的电脑长时间处于睡眠状态后,这种情况就会发生在我身上。关闭 wsl2 (wsl.exe --shutdown) 并再次打开它可以解决该问题,直到电脑下次再次长时间休眠为止。