React Native "Expo SDK需要Expo运行。...这段代码无法在Expo上运行。"

12
5个回答

7
如果在升级Expo后出现此错误,请尝试重新启动模拟器-这对我有效。

3

我遇到了完全相同的错误 - 新机器、新的npm,只安装了一个版本的expo。

结果发现,在将应用程序发送到expo应用程序之前,expo要求您将其构建为应用程序(至少在Android上是如此)。 最简单的方法是:

  • 向app.json添加“android”部分,其中包含"package": "uk.co.yourcompany.yourpackagename"(这是android软件包所需的内容。它可以是完全无用的,但应遵循该格式 - 倒置的域名)
  • 运行expo build:android并按照说明注册到expo服务器并构建应用程序
  • 然后重新启动expo start

不确定是否有文档记录这一点,因此可能是新事物?

另一个尝试的方法是将node_modules文件夹移开(或者也可以删除),然后重新运行npm install


2
挺奇怪的,但是我也通过这个方法解决了问题。 - kevin_fitz

3
以下是关于expo错误信息的经验分享,如果有使用expo的人需要参考:
我在项目中不小心手动安装了版本为29.0.0的expo。然而,我正在使用版本为28.0.0的expo sdk,所以可能已经导致了一些错误。
接下来我做了以下步骤:
1. 手动升级app.json文件中的sdkVersion到29.0.0。 2. 将react-native的sdk版本更改为29.0.0。
请注意,以上内容中保留了HTML标签。

刚遇到了这个问题:我在package.json中升级到了29.0.0,但没有在app.json中更新。(实际上,app.json应该从package.json中读取...) - Robert Fischer

1
根据官方教程说明: https://facebook.github.io/react-native/blog/2017/03/13/introducing-create-react-native-app.html 如果您想在应用程序中使用expo,则必须按照以下方式创建它:
npm i -g create-react-native-app create-react-native-app my-project cd my-project npm start
这将启动React Native 打包器并输出一个QR码。在Expo应用程序中打开它以加载您的JavaScript。
我看到您的代码有不必要的文件,例如build.gradle和index.js,而create-react-native-app创建的结构不同且更易于使用。

2
感谢您的反馈,但我不想使用Expo。我正在尝试使用Android Studio生成apk。我搜索了一下,但没有找到解决我的问题的结果。您有什么标签、概念或类型建议可以学习吗?我已经按照官方文档尝试了React Native生成apk。 - Mert Ekinci

0

在将expo-cli更新到版本3.0.6后,我遇到了相同的错误。

通过查看我的package.json,我注意到计算机上安装的expo-cli版本与package.json不同。因此,我将其更改为"expo-cli": "^3.0.6"并运行npm install || yarn,然后错误消失了!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接