React Native运行报错:Cannot find module 'metro/src/lib/createWebsocketServer'求助
解决Expo启动报错:Cannot find module 'metro/src/lib/createWebsocketServer'
核心原因
你当前使用的Expo 0.17.3版本过于老旧,与现代Metro(React Native的打包工具)的文件结构不兼容——createWebsocketServer的路径在新版Metro中已变更,老版本Expo无法找到该模块。
解决步骤
1. 清理旧依赖与缓存
彻底清除可能存在的冲突依赖和缓存:
- 删除本地依赖文件夹:
# Mac/Linux rm -rf node_modules # Windows 命令提示符 rd /s /q node_modules # Windows PowerShell Remove-Item -Recurse -Force node_modules - 删除锁文件:
rm package-lock.json yarn.lock - 清理npm缓存:
npm cache clean --force
2. 升级全局Expo CLI
旧版expo-cli已被废弃,需替换为官方最新的@expo/cli:
- 卸载旧版全局Expo CLI:
npm uninstall -g expo-cli - 安装最新版
@expo/cli:npm install -g @expo/cli
3. 更新项目内的Expo依赖
使用Expo官方工具同步项目依赖到兼容版本:
- 运行项目升级命令(自动处理依赖兼容):
npx expo upgrade - 如果
expo upgrade执行失败,可手动修改package.json中expo字段的版本为最新稳定版(如~50.0.14),然后执行:npm install
4. 重新启动项目
- 启动项目时清除Expo缓存:
npx expo start --clear
内容的提问来源于stack exchange,提问作者andrew
相关产品推荐
相关产品推荐

