WSL 2中Expo项目主目录构建卡顿98%-99%,Windows挂载目录正常
WSL2 Ubuntu 下 Expo 项目构建卡住/文件监听失效问题解决
问题场景
在Windows 11的WSL2(Ubuntu)环境开发Expo项目,使用networkingMode=mirrored模式(否则无法连接iOS设备),遇到两个关联问题:
- 项目放在Windows挂载目录(
/mnt/c/...):执行npx expo start --clear能正常构建、连接手机,但watchdog无法检测文件变更 - 项目移至WSL主目录(
~/...):同命令会卡在98%(偶尔25%),无报错仅停滞
已完成排查
- 尝试添加
--clear参数清除缓存,无效 - 确认Windows挂载目录下构建流程完全正常
- 已开放Expo所需端口的防火墙权限
针对性解决方案
1. 修复WSL主目录文件权限
WSL主目录下的文件可能继承了异常的Windows权限,导致Expo读取或监听文件受阻:
chmod -R 755 ~/your-expo-project
执行后重启WSL(wsl --shutdown),再重新构建。
2. 强制Expo使用兼容WSL的文件监听策略
在项目根目录创建.env文件,添加以下配置,强制使用chokidar并开启轮询模式,适配WSL的文件系统监听机制:
EXPO_WATCHER=chokidar CHOKIDAR_USEPOLLING=true
保存后重新执行npx expo start --clear。
3. 优化WSL Mirrored模式资源占用
Mirrored模式下自动挂载Windows文件系统可能导致资源竞争,编辑/etc/wsl.conf关闭自动挂载:
[automount] enabled = false
执行wsl --shutdown重启WSL后再尝试构建。
4. 切换到兼容的Node LTS版本
部分Node版本在WSL Mirrored模式下存在文件操作兼容性问题,切换到Expo官方推荐的Node 18.x LTS版本:
# 若已安装nvm nvm install 18 nvm use 18
完成后重新初始化项目依赖(npm install)再构建。
内容的提问来源于stack exchange,提问作者AyJay
相关产品推荐
相关产品推荐

