当我初始化一个新项目,然后启动Xcode模拟器时,得到以下消息:
React-Native版本不匹配 Javascript版本0.50.1 本机版本:0.50.0 确保您已经重新构建了本机代码. ...
有谁知道这是怎么回事能帮帮我吗?
当我初始化一个新项目,然后启动Xcode模拟器时,得到以下消息:
React-Native版本不匹配 Javascript版本0.50.1 本机版本:0.50.0 确保您已经重新构建了本机代码. ...
有谁知道这是怎么回事能帮帮我吗?
当前回答
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.)
其他回答
这个答案发表于2020年, 在3个步骤中修复此错误:
第一步:我改变了expo在package中的值。Json文件到最新支持的版本,根据博览会文档(访问这里)。
第二步:我将app.json文件中的sdkVersion的值更改为package.json中expo的值。(与上一步数量相等)。
第三步:我在包中改变了react-native的值。根据expo文档(请访问这里),将json文件更改为与React Native Version相同的值。
现在你可以出发了。
使用NPM install来安装指定版本的依赖项,然后NPM开始运行项目
在我的例子中,我手动更改了expo版本。我得到了同样的问题,因为我忘记更新app.json中的sdkVersion和package.json中的babel-preset-expo
然后运行:expo r -c清除缓存并启动应用程序。
我正在使用物理设备,在我的情况下,这解决了问题:
卸载应用程序 Lsof -i:8081 kill -9 PID 重新构建应用程序(react-native run-android或react-native run-ios)
我有同样的问题,而建立我的react原生应用程序的android和我做了以下工作。
错误控制台中“JavaScript版本0.50.1”是包中的react-native版本。json文件。确保它与错误控制台中“本机版本0.50.0”的版本相同。
我已经在错误控制台中按照提示将react-native版本更新为“Native version 0.50.0”。 重新构建应用react-native run-android。
对于我的情况下,我在iOS上面临它,我试图重置和清除所有缓存使用以下命令,但失败了,尽管许多评论说,根本原因是有react打包器在某处意外运行,我重新启动了我的mac,问题仍然存在。
watchman watch-del-all && rm -rf node_modules/ && yarn cache clean && yarn install && yarn start --reset-cache
解决方案是,删除build文件夹@ /ios/build,然后执行react-native run-ios解决了它