无法解析主机:仅在Windows bash中为github.com

时间:2019-04-12 09:53:53

标签: bash git windows-subsystem-for-linux

我已在1903年Win 10 64位中安装了ubuntu 18.04(WSL)。

对于命令git clone https://github.com/facebookresearch/fastText.git

它在git bash(适用于Windows的git)和ubuntu 18.04 shell中有效,但不适用于bash(C:\ Windows \ System32 \ bash.exe),错误消息为< / p>

$ git clone https://github.com/facebookresearch/fastText.git
Cloning into 'fastText'...
fatal: unable to access 'https://github.com/facebookresearch/fastText.git/': Could not resolve host: github.com

我的电脑中只有两个.gitconfig文件,一个用于git bash,另一个用于ubuntu 18.04 shell。我认为ubuntu 18.04外壳可能在某种程度上等于bash,但是bash必须存在问题。

1

3 个答案:

答案 0 :(得分:5)

您的/etc/resolv.conf文件可能已损坏-它发生在我身上!

症状是:

  • 内部WSL /etc/resolv.conf不是纯文本,而是一些二进制垃圾。它应该是纯文本。
  • 您不能ping google.comping stackoverflow.com来自WSL内部。
  • 您可以从Windows主机中的Powershell ping通这些域。 Windows git也可以。

此外:有趣的是,ping github.com今天在我所有的机器上都对我失败了,但这并不能阻止我在浏览器中访问github或使用git-奇怪。

解决方案是sudo rm /etc/resolv.conf并重新启动WSL-Windows将为您重新创建该文件,您应该能够在WSL中进行ping操作并再次使用git。

答案 1 :(得分:1)

  1. 编辑您的wsl.conf
sudo nano /etc/wsl.conf
[network]
generateResolvConf = false
  1. 保存此文件并退出。然后编辑/etc/resolv.conf
sudo nano /etc/resolv.conf
  1. 添加/编辑此行
nameserver 1.1.1.1
  1. 然后关闭您的 WSL 控制台。以管理员身份打开 Powershell 并关闭 wsl。
wsl --shutdown
  1. 最后重启wsl服务
Get-Service LxssManager | Restart-Service

更多信息 - WSL2 - No internet connectivity. DNS Issues(Temporary failure in name resolution)

答案 2 :(得分:0)

我可以假设您在代理方面遇到问题。

尝试一下:

git config --global --unset http.proxy
git config --global --unset https.proxy

类似的问题:#20370294#5377703