使用 wsl2 将 git repo 存储到 运行 swa 的哪里?

Where to store git repo to run swa efficiently using wsl2?

我正在尝试 运行 我的静态 Web 应用程序使用 Windows 子系统 Linux (2),但我不知道应该在我的计算机上存储在哪里git 存储库能够 运行 它很快。我曾尝试将其存储在 /mnt/c/{workfolder} 下,但启动需要几分钟时间(使用 npm run start),而且我必须重新 运行 才能看到任何更改。这在我尝试工作时没用...

我也曾尝试将它存储在 /mnt/wsl/{workfolder} 中,在这种情况下它会快速启动并且我可以看到我的更改而无需重新 运行 应用程序。但是,当我重新启动计算机时它似乎消失了。

我应该在哪里存储 git 存储库以便能够快速 运行 应用程序并在不重新 运行ning 的情况下查看更改?我假设有一些我不明白的东西,帮我解决这个问题。

您需要它位于 WSL 分发版的 ext4 分区中的某个位置。通常,最好的位置是在您的 WSL /home/<username> 文件夹下。

我会推荐:

mkdir ~/src
# or
mkdir ~/projects
# or something similar

然后在该目录中为每个项目创建子目录。

为什么其他人不起作用:

  • /mnt/c 是 Windows C: 驱动器。该驱动器使用 9P 网络文件系统安装到 WSL2 中,是的,它 (a) 很慢,并且 (b) 不支持 inotify,因此应用无法注册文件更改通知。

  • /mnt/wsl 是 tmpfs 挂载。它确实用于保存需要在所有 运行 WSL 实例之间 共享 的东西。您看到的 auto-generated resolv.conf 就是其中之一。您还可以使用它来将文件从一个 WSL 发行版复制到另一个——只需将文件复制到 /mnt/wsl,启动另一个 WSL 发行版,然后将文件复制或移出。

    但是,是的,所有 tmpfs 装载都是短暂的,并且会在最后一个 WSL2 distribution/instance 终止时终止。