You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL环境下npm run watch突然停止触发代码更新求助

WSL2下Symfony Encore Watch失效解决方案
  • 将项目移至WSL2内部文件系统
    WSL2对Windows挂载目录(如/mnt/c/)的文件事件监听支持存在缺陷,把项目放到WSL2原生目录(比如/home/你的用户名/项目名)下,再重新执行npm run watch测试。

  • 启用poll轮询模式
    在webpack.config.js中手动配置watch的轮询机制,强制Encore主动检查文件变化:

    Encore.configureWatchOptions(watchOptions => {
      watchOptions.poll = 250; // 每250毫秒轮询一次,可根据需求调整数值
    });
    
  • 核对版本兼容性
    检查Node.js和Symfony Encore的版本是否匹配,部分Windows更新可能间接影响了版本适配。可以尝试更新Encore到最新稳定版:

    npm install @symfony/webpack-encore@latest --save-dev
    

    或者切换到项目原本正常运行时的Node.js版本(可用nvm管理版本)。

  • 重启WSL2实例
    执行wsl --shutdown关闭所有WSL进程,重新打开终端启动项目,Windows更新后WSL的文件系统监听可能出现临时异常,重启即可修复。

  • 排查Windows Defender干扰
    临时关闭Windows Defender实时保护,测试watch功能是否恢复。如果有效,把项目目录添加到Defender的排除列表,避免后续再次干扰。

额外检查:确认package.json里的watch命令确实是encore dev --watch,且webpack.config.js中没有其他自定义配置覆盖了watch行为。

内容的提问来源于stack exchange,提问作者haribo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 06:15:06