SST V3本地控制台在WSL中不监听文件问题求助
SST V3 文件变更监听失效问题排查
配置问题排查
- 检查
sst.config.ts中的dev配置:确认未手动设置watch: false,若自定义了watch路径规则,需确保覆盖项目核心代码目录(如src/),避免遗漏导致监听失效。 - 验证
package.json的构建脚本:SST V3 依赖正确的build命令触发热更新,确保scripts中build指向正确的构建工具(如tsc),且输出目录与sst.config.ts配置一致。 - 检查栈定义的
dev选项:部分自定义资源可能默认未开启热监听,需在栈的dev配置中明确设置watch规则,比如针对 Lambda 函数指定监听的代码路径。
WSL 环境相关问题排查
- 升级到 WSL 2:WSL 1 对文件系统事件监听支持有限,WSL 2 原生支持 inotify,能大幅提升监听可靠性。
- 迁移项目到 WSL 原生文件系统:避免将项目放在 Windows 挂载目录(如
/mnt/c/...),跨文件系统的事件传递存在兼容性问题,建议移至 WSL 内部目录(如/home/your-username/...)。 - 调整 inotify 资源限制:执行
cat /proc/sys/fs/inotify/max_user_watches查看当前值,若低于 524288,运行以下命令调整:echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p - 临时关闭安全工具:若 WSL 中装有防火墙或杀毒软件,可临时关闭测试是否影响文件事件传递。
快速验证方法
创建一个全新的 SST V3 项目(npx create-sst@latest),在 WSL 中启动开发服务并修改代码,若热更新正常,说明问题出在迁移后的项目配置;若仍失效,则聚焦于 WSL 环境配置修复。
内容的提问来源于stack exchange,提问作者Cristian Sepulveda
相关产品推荐
相关产品推荐

