我最近安装了 WSL 2,但是当我使用 create-react-app 创建应用程序并使用 npm start 时,当我编辑某些文件时,该应用程序不会重新加载。我错过了什么吗?
根据我的经验,当您的源位于 Windows 驱动器上时(例如/mnt/c
)因为 WSL 用于这些驱动器的驱动程序尚不支持 inotify。看这个答案有关相关问题的更多详细信息。
至少有两种可能的解决方案:
-
如果您需要 WSL2,建议的解决方案是将文件放置在 WSL 的 ext4 根文件系统上。例如。下面某处/home/
, 例如。这还有一个额外的优点:much比 Windows 驱动器更快。
-
或者您可以将实例转换为 WSL1,这does支持 Windows 驱动器上的 inotify,并且处理文件时速度要快得多。如果需要,您还可以保留 WSL1 和 WSL2 副本。它们都有不同的用途,但对于大多数 React/web 开发,我认为您会发现 WSL1 更适合。
您可以使用以下命令备份现有的发行版wsl --export <distroname> <filename.tar>
,然后更改为 WSL1wsl --set-version <distroname> 1
。或者您可以将备份重新导入为wsl --import <newDistroName> <directory> <filename.tar> --version 1
.
-
另外,在我对其他答案的测试中,当运行 VSCode 并在 VSCode 终端中运行观察程序时,它seemed为我工作。我仍然怀疑这是某种“误报”,但你可能想尝试一下。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)