Bun 中的 --watch 错误

问题描述 投票:0回答:1

我在bun中运行--watch时遇到一些问题,它没有实时更新我的页面,我总是必须重新运行它才能看到更改。

我认为这是因为我在Windows上使用Linux,但我不知道这是否只是我的一个错误,因为我没有在任何地方找到它。 有线索吗?

以我的代码为例:

import { serve } from "bun";
console.log("I restarted at:", Date.now());


serve({
  port: 4003,

  fetch(request) {
    return new Response("Susdsdp");
  },
});

终端:

我重新启动:1695345688409

只给我发一次这条消息,有人帮助我😭

我已经用过 --hot--watch

图片代码:https://i.stack.imgur.com/YrT6K.png

watch bun
1个回答
0
投票

在您正在使用的 Bun 版本上使用 WSL 的文件系统观察程序可能存在限制或兼容性问题。所以我先检查一下。

尝试在服务器上运行打字稿文件

  Bun.version; // => "0.6.15"
  Bun.revision; // => "49231b2cb9aa48497ab966fc0bb6b742dacc4994"

参考

如果需要,请更新发髻

npm install bun@latest

检查您的文件路径和名称是否不包含可能干扰 Bun 的文件监视功能的特殊字符。另请记住,使用 WSL 时 Linux 文件系统事件并不总是正确传播。这可能会影响依赖文件系统观察器的工具,例如 Bun。 因此,您可能想尝试通过以下方式增加 WSL 中的 inotify 监视限制:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

然后,确保 Bun 具有监视文件和目录所需的权限,同时确保您的项目目录位于 WSL 文件系统(即

/home/username/project
)内,而不位于已安装的 Windows 文件系统(即
/mnt/c/Users/username/project
)下。

如果您正在处理大型代码库,Bun 可能会尝试查看太多文件。尝试将监视限制为特定目录或文件。

如果以上解决方案都不起作用,您可以考虑在 Bun 的 GitHub 存储库上提出问题。这可能是维护人员没有意识到的错误,尤其是特定于 WSL 环境的错误。就您而言,鉴于您同时使用了

--hot
--watch
,问题很可能在于 WSL 的文件系统观察程序限制。

尝试上述解决方案,尤其是与增加 inotify 监视限制相关的解决方案,因为这是 WSL 环境中其他工具类似问题的常见解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.