Windows Subsystem Linux 开发环境的配置和使用

一、安装 wsl

wsl --install -d Ubuntu

具体其它内容,可以参考 wsl 的使用方法:

用法: wsl.exe [Argument] [Options...] [CommandLine]

运行 Linux 二进制文件的参数:

    如果未提供命令行,wsl.exe 将启动默认 shell。

    --exec, -e <CommandLine>
        在不使用默认 Linux Shell 的情况下执行指定的命令。

    --
        按原样传递其余命令行。

选项:
    --cd <Directory>
        将指定目录设置为当前工作目录。
        如果使用了 ~,则将使用 Linux 用户的主页路径。如果路径
        以 / 字符开头,将被解释为绝对 Linux 路径。
        否则,该值一定是绝对 Windows 路径。

    --distribution, -d <Distro>
        运行指定分发。

    --user, -u <UserName>
        以指定用户身份运行。

管理适用于 Linux 的 Windows 子系统的参数:

    --help
        显示用法信息。

    --install [选项]
        安装额外的适用于 Linux 的 Windows 子系统分发。
         要获得有效分发列表,请使用“wsl --list --online”。

        选项:
            --distribution, -d [参数]
                按名称下载并安装分发。

                参数:
                    有效分发名称(不区分大小写)。

                示例:
                    wsl --install -d Ubuntu
                    wsl --install --distribution Debian

    --set-default-version <Version>
        更改新分发的默认安装版本。

      --shutdown
         立即终止所有运行的分发及 WSL 2
        轻型工具虚拟机。

         --status
           显示适用于 Linux 的 Windows 子系统的状态。

    --update [选项]
        如果未指定任何选项,则 WSL 2 内核将更新
        到最新版本。

             选项:
         --rollback
                还原到 WSL 2 内核的先前版本。

用于管理适用于 Linux 的 Windows 子系统中的分发的参数:

    --export <Distro> <FileName>
         将分发导出到 tar 文件。
        对于标准输出,文件名可以是 –。

    --import <Distro> <InstallLocation> <FileName> [Options]
            将指定的 tar 文件作为新分发导入。
          对于标准输入,文件名可以是 –。

        选项:
            --version <Version>
                指定要用于新分发的版本。

    --list, -l [Options]
        列出分发。

        选项:
            --all
                列出所有分发,包括
        当前正在安装或卸载的分发。

            --running
                仅列出当前正在运行的分发。

            --quiet, -q
                仅显示分发名称。

            --verbose, -v
                显示所有分发的详细信息。

            --online, -o
                显示使用“wsl --install”进行安装的可用分发列表。

    --set-default, -s <分发>
        将分发设置为默认值。

    --set-version <分发> <版本>
        更改指定分发的版本。

    --terminate, -t <分发>
        终止指定的分发。

    --unregister <分发>
        注销分发并删除根文件系统。

二、安装一些必须的软件

先更新一下软件版本。

sudo apt update
sudo apt upgrade -y

1. 安装 nodejs

curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -

sudo apt install -y nodejs

2. 安装 yarn

curl -sL https://dl.yarnpkg.com/debian//pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null

echo \"deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main\" | sudo tee /etc/apt/sources.list.d/yarn.list

sudo apt update
sudo apt install -y yarn

设置 yarn 的版本,新版 yarn 不向下兼容,旧版已经不更新了。

sudo corepack enable
yarn set version stable

3. 安装 nginx

sudo apt install -y curl gnupg2 ca-certificates lsb-release ubuntu-keyring

curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
   | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

gpg --dry-run --quiet --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list

echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
    | sudo tee /etc/apt/preferences.d/99nginx

sudo apt update
sudo apt install -y nginx

三、开发工具的设置

不管是 vscode,还是 WebStorm 都可以很好的与 wsl 合作。

一、 WebStorm

  1. 打开 设置->语言和框架->Node.js

    shot_1.png

  2. WebStorm 会自动为你检测 node 可执行文件的路径,点击 确定 即可。

    shot_2.png

  3. 再选择 yarn 作为包管理器,就 OK 了。

    shot_3.png

  4. WebStorm 可以直接打开 wsl 中的项目,或者直接在 wsl 中创建项目。

  5. 在 wsl 中的项目 webstorm 会自动为你打开 wsl 的终端,执行各种命令,可以说很方便。

二、 Visual Studio Code

因为是微软家的产品,天生支持 wsl。仅需要在 wsl 中执行 code [Project Path] 就可以打开项目。

四、使用 WSL 的优点

  1. Linux 在开发上的优势,是 Windows 无法比拟的。

    这个差距曾经很大,近几年 Windows 正在逐渐缩小这个差距,wsl 就是缩小差距的产物之一。

  2. Linux 众多发行版,大部分都有包管理器,使用包管理器,安装/更新软件更简单快捷。

  3. 减少开发环境和生产环境的差异,可以有效地减少 bug 数量。比如:文件路径。

  4. 有一些开发工具,并不提供 Windows 版本,或者 Windows 版本性能很差,比如 Nginx。

  5. 环境配置/切换,更简单。

  6. 大部分教程、文档、StackOverflow 和 百度 的答案,都是面向 Linux。我也不知道为什么。

五、使用 WSL 的缺点

  1. 不算缺点的缺点————没有图形界面,一切都需要靠命令行去解决。(对新手不友好)
  2. 性能瓶颈,因为 wsl 的本质,还是虚拟机(虽然是微软优化过的)。
posted @ 2022-03-11 15:59  伊娜陈  阅读(656)  评论(0编辑  收藏  举报