Gatsby从3.0升级到4.0后gatsby develop保存js文件不自动重建如何修复
Gatsby 4.0 开发模式文件变更不自动重建修复方案
- 第一步:清除缓存重装依赖
停止当前运行的gatsby develop服务,依次执行以下命令:
完成后测试修改.js文件是否触发自动重建。gatsby clean rm -rf node_modules package-lock.json npm install gatsby develop - 第二步:调整Linux文件监听数限制
Gatsby 4.0需要监听的文件数量比3.0版本大幅提升,Ubuntu默认的inotify监听数上限无法满足需求,执行以下命令临时调整:sudo sysctl fs.inotify.max_user_watches=524288
如需永久生效,将fs.inotify.max_user_watches=524288添加到/etc/sysctl.conf文件末尾,再执行sudo sysctl -p使配置生效。 - 第三步:排查特殊场景问题
- 如果你在WSL2环境下运行项目,且项目文件存放在Windows挂载目录(/mnt/开头的路径),请将项目迁移到WSL原生Linux文件系统中,挂载目录下的文件变更无法被监听工具捕获。
- 检查
gatsby develop启动命令是否添加了--no-hmr等关闭热重载的参数,如有则删除后重启服务。 - 检查
gatsby-config.js和gatsby-node.js配置,确认没有自定义文件监听规则屏蔽了.js文件的变更检测。
- 第四步:兼容版本校验
你当前使用的Node 16.12.0属于非LTS的过渡版本,可尝试升级到Node 16.x的最新LTS版本,重新安装依赖后再测试。
内容的提问来源于stack exchange,提问作者Adam
相关产品推荐
相关产品推荐

