2017-08-09 66 views
11

我使用the React Native offical docs设置了React-Native应用程序。但我一直收到这个错误消息Module JSTimersExecution is not a registered callable module当从我的iphone浏览世博应用程序的应用程序。调用堆栈附在这里。Expo.io - Module JSTimersExecution不是已注册的可调用模块

Expo error[1]

我做了一些谷歌,但没有发现任何有用的。

任何人都可以得到此错误吗?

+0

为什么不直接使用Expo SDK? – EnriqueDev

+0

@EnriqueDev我只是按照https://facebook.github.io/react-native/docs/getting-started.html –

+1

尝试https://expo.io/tools,下载他们的SDK并从那里工作。方式更加有用,完整并具有功能性的捷径。 – EnriqueDev

回答

3

当我将react-native升级到0.47.1时,我得到了同样的错误,我查看了问题并将react-native设置回0.46.4,它工作正常!

+0

是的,我用0.46.1,它也可以工作 –

+1

这只是避免而不是解决:)请参阅下面的@Russell Maxfield的答案以获得工作解决方案。 –

2

在package.json中,我将react-native设置回0.46.1,这似乎工作。

0

你有没有使用世博会?如果是这样,世博会目前不支持RN 0.47.x。 (source

+0

现在正在发布的世博会v20 – Clintm

10

确保将app.json更改为您在package.json中使用的同一个EXPO版本。并且确保您使用的是您安装的expo版本使用的相应React-Native版本。您可能需要升级您的世博会应用程序。如果不工作,你的版本匹配:

  • 停止服务器
  • rm -rf node-modules(甚至删除your.lock文件)
  • npm i/yarn
  • 然后启动它,npm start或使用EXPO
  • 然后如果您在终端的Shift + R中启动以重新启动软件包并清除缓存,或者如果正在使用,请在EXPO中按重新启动。

https://blog.expo.io/expo-sdk-v20-0-0-is-now-available-79f84232a9d1

+0

注意,除了更新'应用程序中的世博会版本。json'我也需要在模拟器本身升级我的世博会应用程序(我编辑了这个答案来澄清这一点)。 –

0

我就遇到了这个在升级过程中博会的时候我已经离开了iOS模拟器中运行。 iOS模拟器的快速重启解决了这个问题。

1

如果您使用cocoapods作为您的react-native项目,请记住在升级反应后运行pod install

0

我遇到了与expo相同的问题:20.0.5和react-native:0.47.1。我将react-scripts升级到1.3.0。然后我重新启动了模拟器,并运行。