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

Expo启动后localhost:19000显示JSON而非Metro Bundler页面问题

问题现象

之前运行expo start或expo start -c时,浏览器会自动打开localhost:19000,显示带二维码、连接选项(tunnel/lan/local)的Metro Bundler页面。卸载重装Node.js后出现以下异常:

  • expo start执行后浏览器不再自动启动
  • 手动访问localhost:19000仅返回项目配置JSON(内容如下):
{"name":"litplans","slug":"litplans","version":"1.0.0","orientation":"portrait","icon":"./assets/icon.png","userInterfaceStyle":"light","splash":{"image":"./assets/splash.png","resizeMode":"contain","backgroundColor":"#ffffff","imageUrl":"http://127.0.0.1:19000/assets/./assets/splash.png"},"updates":{"fallbackToCacheTimeout":0},"assetBundlePatterns":["**/*"],"ios":{"supportsTablet":true,"bundleIdentifier":"com.mallsecinc.litplans"},"android":{"adaptiveIcon":{"foregroundImage":"./assets/adaptive-icon.png","backgroundColor":"#FFFFFF","foregroundImageUrl":"http://127.0.0.1:19000/assets/./assets/adaptive-icon.png"}},"web":{"favicon":"./assets/favicon.png"},"_internal":{"isDebug":false,"projectRoot":"C:\\sites\\apps\\litplans","dynamicConfigPath":null,"staticConfigPath":"C:\\sites\\apps\\litplans\\app.json","packageJsonPath":"C:\\sites\\apps\\litplans\\package.json"},"sdkVersion":"45.0.0","platforms":["ios","android","web"],"developer":{"tool":"expo-cli","projectRoot":"C:\\sites\\apps\\litplans"},"packagerOpts":{"scheme":null,"hostType":"lan","lanType":"ip","devClient":false,"dev":true,"minify":false,"urlRandomness":"2x-kif","https":false},"mainModuleName":"node_modules\\expo\\AppEntry","__flipperHack":"React Native packager is running","debuggerHost":"127.0.0.1:19000","logUrl":"http://127.0.0.1:19000/logs","hostUri":"127.0.0.1:19000","bundleUrl":"http://127.0.0.1:19000/node_modules%5Cexpo%5CAppEntry.bundle?platform=ios&dev=true&hot=false&strict=false&minify=false","iconUrl":"http://127.0.0.1:19000/assets/./assets/icon.png"}

已尝试但无效的操作:

  • 运行现有Expo项目/创建全新Expo项目
  • 删除node_modules后重新安装
  • 卸载并重新安装Expo模块
解决方案

1. 匹配Expo SDK与Node.js版本兼容性

你的项目使用Expo SDK 45.0.0,官方推荐Node.js版本为14.19.x或16.13.x。重装Node.js后版本可能不兼容,导致Expo CLI功能异常:

  • 查看当前Node.js版本:node -v
  • 若版本不符,用nvm切换到兼容版本:
    # 安装指定版本Node.js
    nvm install 16.13.0
    # 切换到该版本
    nvm use 16.13.0
    

2. 清理Expo全局缓存与重装CLI

重装Node.js可能导致Expo CLI的全局配置或缓存损坏,执行以下命令重置:

# 清除Expo项目缓存
expo r -c --clear-cache
# 卸载全局Expo CLI
npm uninstall -g expo-cli
# 安装SDK45兼容的Expo CLI版本
npm install -g expo-cli@6.3.2

3. 强制启动浏览器

手动指定启动参数,绕过自动启动的异常逻辑:

# 启动时强制打开默认浏览器
expo start --web --open
# 或指定特定浏览器(如Chrome)
expo start --web --open chrome

4. 检查端口占用与Metro配置

  • 确认19000端口未被占用:
    # Windows
    netstat -ano | findstr :19000
    # macOS/Linux
    lsof -i :19000
    
    若端口被占用,杀死对应进程后重启Expo。
  • 备份并删除项目根目录的metro.config.js,使用默认配置测试是否恢复正常。

5. 重置项目依赖环境

# 删除依赖锁文件与node_modules
rm -rf node_modules package-lock.json yarn.lock
# 重新安装依赖
npm install
# 清除项目缓存后启动
expo start -c

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 15:48:28