使用 WSL2 作为开发环境的配置记录

Published at:
Updated at:
Tags: WSL, Linux, Windows

使用 WSL2 作为开发环境并不是一帆风顺的,还是需要做一些特别的配置。

使用的发行版与版本

  • Ubuntu 20.04 LTS
  • Debian 11

无法使用个别命令

例如使用 npm 命令就会出现下面这种情况,但我之前使用 WSL2 的 Ubuntu 18 就没有遇到过这种情况,但这次使用 Ubuntu 20 与 Debian 11 都出现了这种情况。

$ npm install
/usr/bin/env: ‘bash\r’: No such file or directory

解决方法就是在 /etc/wsl.conf 文件下添加以下内容,具体原因与细节可以参考这个页面

[interop]
appendWindowsPath = false

在 WSL 中启动 Windows 的 VS Code

首先需要安装 VS Code 插件 Remote - WSL

通常我们会使用在命令行中,使用 code 命令打开项目所在的目录,但在 WSL 直接使用 code 命令则可能会提示 Command not found。

$ code .

Command 'code' not found, but can be installed with:

我在 Ubuntu 上无法使用 code 命令,但在 Debian 则上可以使用,只是会提示我们需要手动安装一下相关的包。

我们可以通过添加 Windows 的 VS Code 所在的路径至 ~/.bashrc 中,实现在 WSL 中直接使用 code 命令使用 VS Code 打开当前所在的目录。

例如我的 VS Code 的安装目录是在 C:\Program Files\Microsoft VS Code,则在 ~/.bashrc 中添加以下内容,保存后重启 WSL。

export PATH=$PATH:'/mnt/c/Program Files/Microsoft VS Code/bin'

使用命令行安装 Chrome

有的时候我们需要在 WSL 中运行 Chrome,使用以下命令即可。

apt 是 Ubuntu 和 Debian 内置的包管理工具,如果你使用的是其他的发行版,请改用与之对应的包管理工具。

$ sudo apt install google-chrome-stable # 安装 Chrome

$ google-chrome --version # 查看 Chrome 版本号,判断是否安装成功

$ google-chrome # 启动 Chrome

或者使用 WSL 文档中提供的安装方法 Install Google Chrome for Linux

代理配置

建议在 Windows 上使用 TUN 或者 SSTAP 这类全局代理的方式,方便省事。