常见开发错误

编辑页面

使用 Expo 的开发者经常遇到的常见开发错误列表。


For the complete documentation index, see llms.txt. Use this Use this file to discover all available pages.

此页面列出了一些使用 Expo 的开发者常见会遇到的错误。对于每个错误,第一条项目符号提供该错误发生原因的说明,第二条项目符号包含调试建议。如果你认为这里还应该包含某个错误,我们欢迎并鼓励你 创建 PR

Metro bundler ECONNREFUSED 127.0.0.1:19001

  • 有错误阻止了与本地开发服务器的连接。
  • 运行 rm -rf .expo 来清除本地状态。检查是否有防火墙或 代理 影响你当前连接的网络。

Module AppRegistry is not a registered callable module (calling runApplication)

  • 你的代码中存在错误,导致 JavaScript bundle 在启动时无法执行。
  • 尝试运行 npx expo start --no-dev --minify 在本地复现生产环境的 JS bundle。如果可能,连接你的设备,并通过 Android Studio 或 Xcode 访问设备日志。设备日志包含更详细的堆栈跟踪和信息。检查你的 Babel 配置中是否有任何更改或错误。在某些罕见情况下,此问题可能是由 Metro JavaScript 压缩器与应用中的某些代码不兼容导致的(更多信息)。

npm ERR! No git binary found in $PATH

  • 要么你没有安装 git,要么它没有在你的 $PATH 中正确配置。
  • 如果你还没有安装,请安装 git。否则,根据你的操作系统检查如何将其设置到你的 $PATH 中。

XX.X.X is not a valid SDK version

  • 你正在运行的 SDK 版本已被弃用,不再受支持。
  • 升级你的项目到受支持的 SDK 版本。如果你使用的是受支持的版本但仍看到此消息,你需要更新你的 Expo Go 应用。

React Native version mismatch

  • 终端中运行的开发服务器正在打包一个与设备或模拟器中的应用不同版本的 React Native。
  • 通过检查 app.jsonpackage.json 中的版本,使你的 react-native 版本保持一致

Application has not been registered

  • 你的应用在原生端和 JS 端注册的 AppKey 不匹配。
  • 将你的 AppKey 与项目的原生部分保持一致

Application not behaving as expected

  • 可能是缓存阻止你看到应用的当前状态。
  • 清除与你的项目相关的所有缓存,适用于 Unix-likeWindows 系统。