【填坑】使用 WSL 编译代码可能遇到问题汇总

文档换行符的问题

官方推荐的解决方法:resolving-git-line-ending-issues-in-containers-resulting-in-many-modified-fileslinux

git 多平台统一换行符问题详解:https://juejin.im/post/6844903591258357773git

若是不想从新克隆仓库,只想防止 git status 时候显示大量文件更改(因为 LF 被自动检出为 CRLF),能够临时使用 git config --local core.autocrlf true 以后 git 不会再报 LFCRLF 的改动,可是须要注意,虽然不显示 CRLF 的改动,可是文件确实被改了,可能致使 .sh 因为换行符改变没法在 WSL 中执行,须要使用编辑器改过来,方法请百度。github

文件权限问题

linux 平台提交的代码,克隆到 Windows 平台,应为文件系统的不一样,可能致使文件的执行权限丢失,所以可能致使 git status 时,检查到大量的文件变更,可是经过 git diff 却看不到内容变化,而且文件权限的改动在 git checkout . 时是没法复位的。web

可使用如下指令,忽略对文件执行权限的检查windows

git config --global core.filemode false

具体的解决方法,请查看 Windows 克隆远程仓库文件权限被修改的问题编辑器

外部仓库 git 检索缓慢问题

使用 WSL 访问 Windows 系统的 git 仓库,对于某些体量大的项目,一次 git status 可能要耗时数分钟才能出结果。这明显仍是两个系统之间文件通道的速度问题。svg

解决方法:post

  1. 首先将 WSL 版本升级到 WSL2.net

    方法能够参考 Set your distribution version to WSL 1 or WSL 2code

  2. 若是速度仍是较慢,请把该仓库转移到 WSL 的文件系统

    在文件管理器的输入 \\wsl$ 能够直接进入,以后进行复制粘贴便可

在这里插入图片描述

WSL2 串口问题

WSL2 目前(2020-09-17)不支持串口或者 USB 访问,若是想经过串口下载程序,可以使用下面的方法。

https://github.com/microsoft/WSL/issues/4322#issuecomment-674928931