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

运行npx expo start遇ExpoMetroConfig.loadAsync错误及相关问题求助

解决npx expo start报错ExpoMetroConfig.loadAsync is not a function的方案

问题详情

运行npx expo start时触发以下错误:

TypeError: ExpoMetroConfig.loadAsync is not a function
    at runMetroDevServerAsync (/usr/local/lib/node_modules/expo-cli/node_modules/@expo/dev-server/src/MetroDevServer.ts:86:45)
    at startDevServerAsync (/usr/local/lib/node_modules/expo-cli/node_modules/xdl/src/start/startDevServerAsync.ts:75:77)
    at startAsync (/usr/local/lib/node_modules/expo-cli/node_modules/xdl/src/start/startAsync.ts:84:41)

同时存在以下异常:

  • 使用npx却触发了全局安装的expo-cli逻辑
  • 执行npx expo-doctor检测到包依赖错误,但npx expo-doctor --fix-dependencies提示该参数不存在

解决步骤

  • 清除全局expo-cli残留
    错误路径指向全局安装的expo-cli,说明npx优先调用了全局版本,先卸载全局包:

    npm uninstall -g expo-cli
    # 或使用yarn
    yarn global remove expo-cli
    
  • 强制调用最新版expo命令
    直接指定expo@latest运行,避免缓存或旧版本问题:

    # 启动项目
    npx expo@latest start
    # 用新版doctor修复依赖
    npx expo@latest doctor --fix-dependencies
    

    注:--fix-dependencies是新版expo doctor的有效参数,旧版本不支持,必须用expo@latest调用。

  • 清理项目本地依赖缓存
    如果以上步骤无效,重置项目依赖:

    1. 删除项目根目录的node_modules文件夹
    2. 删除package-lock.json或yarn.lock文件
    3. 重新安装依赖:
      npm install
      # 或
      yarn install
      
  • 检查metro配置文件
    暂时注释项目中metro.config.js/metro.config.ts的自定义配置,用Expo默认配置测试,排除配置冲突问题。

内容的提问来源于stack exchange,提问作者Fábio Nicolau

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 02:12:07