首页 > 解决方案 > 无法解析主机:github.com ONLY in windows bash

问题描述

我已经在我的 win 10 64 位 1903 中安装了 ubuntu 18.04(WSL)。

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

它在git bash(git for windows) 和ubuntu 18.04shell 中运行良好,但在bash(C:\Windows\System32\bash.exe) 中运行良好,错误消息是

$ 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文件,一个用于shell git bash,另一个用于ubuntu 18.04shell。我认为shell可能在某种程度上ubuntu 18.04等于但肯定有问题。bashbash

1

标签: bashgitwindows-subsystem-for-linux

解决方案


It could be that your /etc/resolv.conf file is corrupt - it happened to me!

Symptoms are:

  • Inside WSL /etc/resolv.conf is not plain text but some binary garbage. It should be plain text.
  • You cannot e.g. ping google.com or ping stackoverflow.com from inside WSL.
  • You can ping those domains OK from powershell in the windows host. Windows git also works OK.

Aside: Interestingly ping github.com fails for me today on all my machines but that doesn't stop me from visiting github in my browser or using git - strange.

The solution is to sudo rm /etc/resolv.conf and restart WSL - windows will recreate that file for you and you should be able to ping away and use git once more from within WSL.

To restart WSL - open a Powershell terminal in Administrator mode and run the following commands. (taken from @germa-vinsmoke 's answer)

wsl --shutdown
Get-Service LxssManager | Restart-Service

推荐阅读