WSL 踩坑

入坑场景

最近想给家里的电脑搞一套开发环境,由于虚拟机用的真的很难受,经同事强力推荐 WSL 轻便、速度快的特性,所以折腾了下,问题还是比较多的。

安装过程中的问题

问题一:Microsoft Store 无法打开

解决方案:

  1. 重置网络 netsh winsock reset
  2. 卸载重装:
# 第一步
$ get-appxpackage *store* | remove-Appxpackage
# 第二步
$ add-appxpackage -register "C:\Program Files\WindowsApps\*Store*\AppxManifest.xml" -disabledevelopmentmode
  1. 系统 -> 设置 -> 系统 -> 语言和位置 -> 更换区域为 加拿大
  2. 控制面板 -> 网络和 Internet -> Internet 选项 -> 高级 -> 勾选 使用 TLS 1.1使用 TLS 1.2

问题二:WSL 2 版本无法设置( –set-version 命令不存在)

内核版本低于 18917 无法使用 WSL 2,查看Windows OS 内部版本的方式:

  • WIN + R 输入 winver

检查更新显示最新版本是没用的,需要到使用更新小助手

问题三:–set-version ubuntu 2 提示需要更新 Linux 内核组件

更新内核

问题四:ping 域名 ping 不通,只能 ping ip

每次启动 WSL 都会自动生成一个新的 /etc/resolv.conf

解决方案如图:

image

问题五:git clone 没反应

# 查看防火墙软件
$ powershell.exe "Get-CimInstance -Namespace root/SecurityCenter2 -ClassName AntivirusProduct" | grep displayName

升级完成系统自带的杀毒软件(Norton Security)会墙掉 WSL 的网络,直接卸载就行了!

问题六:npm 报错 rollbackFailedOptional verb npm-session

下面的解决方案不能使用 vpn ,如果使用 vpn 需要代理到本地。

# 去掉 npm 代理
$ npm config delete proxy
$ npm config delete https-proxy

# 去掉 git 代理
$ git config --global --unset http.proxy
$ git config --global --unset https.proxy

安装 Docker

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
$ sudo service docker start
$ sudo usermod -aG docker $USER

安装 Powerlevel10k


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!