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

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

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


当前回答

在我的情况下,我的android物理设备没有连接到运行在我的开发机器上的js服务器。所以我必须手动设置调试服务器主机和端口在我的android设备。

其他回答

对我来说,这是由于包的依赖项部分的反应本机版本。json文件。它是:

"dependencies": {
"expo": "^27.0.1",
"react": "16.3.1",
"react-native": "~0.55.0"
}

我把它改成:

"dependencies": {
"expo": "^27.0.1",
"react": "16.3.1",
"react-native": "0.52.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.)

我更新了app.json中的SDK版本,以匹配包中的react原生SDK版本。Json来修复这个问题

在app.json

"sdkVersion": "37.0.0",

在package.json

"react-native": "https://github.com/expo/react-native/archive/sdk-37.0.1.tar.gz",

可能的解决办法:

删除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版本。将json(在dependencies - react-native下)改为与错误消息中显示的“Native Version”相同。然后再次运行'npm install'。