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

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

使用的发行版与版本

  • Ubuntu 20.04 LTS
  • Debian 11

无法使用个别命令

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

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

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

1
2
[interop]
appendWindowsPath = false

在 WSL 中启动 Windows 的 VS Code

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

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

1
2
3
$ 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。

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

使用命令行安装 Chrome

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

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

1
2
3
4
5
$ sudo apt install google-chrome-stable # 安装 Chrome

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

$ google-chrome # 启动 Chrome

代理配置

建议在 Windows 上使用如 SSTAP 这类以虚拟网卡为原理的工具进行代理,方便省事。

作者

PinkChampagne17

发布于

2022-04-09

更新于

2022-05-07

许可协议

 CC BY-NC-SA 4.0