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

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

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


当前回答

只要去你的android/app/build。Gradle,然后添加到依赖项部分:

dependencies{
compile ("com.facebook.react:react-native:0.50.3") { force = true } 
}

/// react的原生版本可以在package.json中找到

其他回答

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.)

在我的情况下(不使用博览会和Android构建)

package.json

"dependencies": {
    "react": "16.3.1",
    "react-native": "0.55.2"
}

和app.json

{
  "sdkVersion": "27"
}

解决问题

当TypeScript类型定义不匹配时,我得到了这个类。

例如,在依赖项中react-native的值为0.61.5,在devDependencies中@types/react-native的值为0.60.0。

当我更新devDependencies时,它就工作了。不需要重启任何东西。

当你试图在不关闭节点服务器的情况下运行前一个应用程序时,有时会发生这种情况,所以尝试重新启动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

这是我对它所做的:

关闭所有终端并再次运行构建。

你可能忘记从另一个项目关闭nodejs终端,而他们碰巧安装了不同的react版本。

因此,从nodejs服务器获取的代码与本机代码冲突。