当我初始化一个新项目,然后启动Xcode模拟器时,得到以下消息:

React-Native版本不匹配 Javascript版本0.50.1 本机版本:0.50.0 确保您已经重新构建了本机代码. ...

有谁知道这是怎么回事能帮帮我吗?


当前回答

我从stackoverflow找到了另一个问题的答案,我喜欢把它放在这里。

第一步:我改变了expo在package中的值。Json文件到最新支持的版本,根据博览会文档(访问这里)。

第二步:我将app.json文件中的sdkVersion的值更改为package.json中expo的值。(与上一步数量相等)。

如果sdkVersion在你的app.json文件中不存在,请像这样添加。 :“sdkVersion xx.x。X”(与package.json中的expo版本相同)

第三步:我在包中改变了react-native的值。根据expo文档(请访问这里),将json文件更改为与React Native Version相同的值。

其他回答

I've never seen this error before, but whenever I can't get Xcode and React-Native to play well together, I do a couple of things. Check what version of Xcode I'm working with. If it needs to be updated, I update it. Then clearing watchman and the cache are the second place I go. I don't use the reset cache command. It always says that I need to verify the cache, so I skip that (you can do it though, I just get confused). I use rm -rf $TMPDIR/react-* to get rid of any cached builds. If that doesn't work, I try to build the app in Xcode, then work my way from there, to build it with react-native run-ios. With this error message, it seems you might start by trying to build it with Xcode. Hope that helps...let me know your progress with it. Good luck! (Also, you could update to RN 0.51 as another attempt to get your versions synced.)

我有这个问题很长一段时间了,上面的解决方案都没用。我在一个create-react-native-app项目中升级react native,直到我发现不是所有版本的Expo都支持最新的react native。

在文档中找到了这个页面的链接,其中显示了官方支持的React Native, React和Expo的版本组合:

来源:https://github.com/react-community/create-react-native-app/blob/master/VERSIONS.md

编辑app.json和包。Json文件来匹配相应的版本,运行NPM install可以让一切恢复正常。

当你试图在不关闭节点服务器的情况下运行前一个应用程序时,有时会发生这种情况,所以尝试重新启动React。要做到这一点,只需运行以下命令:

1. To kill current processes
killall node -9 

2. To Start React  Native
react-native start 

3. Then Run android
react-native run-android

可能的解决办法:

删除package-lock.json 执行命令watchman watch-del-all && rm -rf $TMPDIR/react-* && rm -rf $TMPDIR/ hurry -map-react-native-packager-* && rm -rf node_modules/&& npm install

如果问题仍然存在,尝试直接从Xcode执行项目

这对我很管用。

这对我来说很管用:

react-native start --reset-cache