常见开发错误

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


本页面列出了使用 Expo 的开发者常遇到的一些错误。对于每个错误,第一条说明了错误发生的原因,第二条提供了调试建议。如果你发现有错误应该被列在这里,我们欢迎并鼓励你创建一个 PR

🌐 This page outlines a list of errors that are commonly encountered by developers using Expo. For each error, the first bullet provides an explanation for why the error occurs and the second bullet contains debugging suggestions. If there is an error you think belongs here, we welcome and encourage you to create a PR!

Metro 打包程序 ECONNREFUSED 127.0.0.1:19001

🌐 Metro bundler ECONNREFUSED 127.0.0.1:19001

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

Module AppRegistry 不是已注册的可调用模块(调用 runApplication)

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

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

NPM,呃!在$PATH中找不到任何git二进制文件

🌐 npm ERR! No git binary found in $PATH

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

XX.X.X 不是有效的 SDK 版本

🌐 XX.X.X is not a valid SDK version

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

React Native 版本不匹配

🌐 React Native version mismatch

应用尚未注册

🌐 Application has not been registered

  • 你的应用的原生部分和 JS 部分中注册的 AppKey 不匹配。
  • 将你的 AppKey 与项目的本地端对齐。

应用未按预期运行

🌐 Application not behaving as expected

  • 缓存可能会阻止你查看应用的当前状态。
  • 清除与你的项目相关的所有缓存,在类 UnixWindows 系统中。