Windows wsl2 热代码重新加载上带有 Shadow-cljs 浏览器设置的 Emacs Cider

Emacs Cider with Shadow-cljs browser settings on Windows wsl2 hot code reload

我想使用 shadow-cljs 重新加载热代码以在 emacs/cider 中的 Windows wsl2 上工作(它不适用于 shell shadow-cljs watch 命令终端也是如此)。

我应该说奇怪的是,在每两次使用它的尝试中,它实际上会 运行 就像它在大多数情况下的正常情况一样,这非常好,但如果它在大多数情况下不起作用,那么对于生产力来说就不一致了时间.

通常的状态是 repl 将处于初始编译状态。在端口 9630 的浏览器 shadow-cljs 仪表板上显示“未知,等待重新编译”,但当文件更新时它永远不会更新。

在 WSL2 中,文件监视仅在实际 Linux 文件系统上使用时才有效。在 /mnt/c/... 目录中工作时它不起作用。在 /home/....

中工作时,WSL2 实际上工作得更好

https://github.com/microsoft/WSL (eg. #4739) 上有几个未解决的问题。它不是特定于 shadow-cljs 并且会影响许多其他文件监视程序。

目前,如果您想使用 Windows 文件,您应该坚持使用 WSL1,因为它会快得多。 WSL2 仅在使用 Linux 文件系统时速度更快,但这使得处理来自 Windows 的文件有点慢。当您想使用来自 Windows 恕我直言的文件时,WSL1 仍然是更好的选择。