在初始化新项目然后启动x-code模拟器时获取以下消息。 “ 应对 </跨度> - 版本不匹配“Javascript版本0.50.1原生版本:0.50.0
确保您已重建本机代码…
有谁知道这里发生了什么,可以帮助我吗?
谢谢!
鈥
在我的情况下,安装新的虚拟设备有帮助。现在我每个应用程序使用1个设备。
我试图从WebStorm构建并运行React Native应用程序并遇到了这个问题。对我来说简单的解决方案是:
watchman watch-del-all
在macOS上,如果 watchman 尚未安装,请使用安装 家酿 :
watchman
brew install watchman
在我的情况下(不使用expo和Android版本)
的package.json
"dependencies": { "react": "16.3.1", "react-native": "0.55.2" }
和app.json
{ "sdkVersion": "27" }
解决了这个问题
世博会用户 - 确保你的 app.json sdk版本和 package.json 世博会版本(可能相同)彼此兼容。
app.json
package.json
就我而言,我的android物理设备没有连接到我的开发机器上运行的js服务器。所以我必须手动设置调试服务器主机&amp;在我的Android设备上的端口。
这将特别适用于Android Studio 3.2或更新用户,因为在升级之前似乎没有发生这种情况。
如果您没有在配置中更改React Native的版本( package.json , build.gradle ),在git中检出另一个提交后,版本不匹配的问题可能来自项目文件的未检测到的更改。为了克服这个问题,请确保:
build.gradle
清理构建: Build > Clean Project
Build > Clean Project
使用Gradle文件同步项目:旁边的 Stop 导航栏上的按钮
Stop
制作项目:导航栏中的第一个按钮,带有锤子图标
最后运行/调试应用程序
这也将克服 Session 'app': Error Installing APK 从设备卸载应用程序后,由于Instant Run可能会发生错误。
Session 'app': Error Installing APK
还要确保在模拟器中启用了wifi
对于在使用CocoaPods的iOS上遇到同样问题的其他人:
我试过上面的所有解决方案,没有运气。我的项目中有一些包含本机依赖项的包,其中一些需要安装pod模块。问题是我的Podfile中指定了React,但是React pod并没有通过使用自动升级 react-native-git-upgrade 。
react-native-git-upgrade
修复方法是通过运行升级所有已安装的pod cd ios && pod install 。
cd ios && pod install
对于无法通过关闭和重建来解决问题的Android开发人员,请在模拟器/设备上手动卸载应用程序。
如果您通过Expo运行React Native应用程序,升级React Native可能会导致此错误(如上所述) https://github.com/expo/expo/issues/923 )。
如果这是您的方案,您的选择是:
我有这个问题的时间最长,上述解决方案都没有帮助。我正处于升级中的原因 create-react-native-app 直到我发现并非所有版本的Expo都支持最新的React Native。
create-react-native-app
在文档中找到此页面,该文档显示正式支持React Native,React和Expo的哪些版本组合:
资源: https://github.com/react-community/create-react-native-app/blob/master/VERSIONS.md
编辑 app.json 和 package.json 文件匹配相应的版本并运行 npm install 让一切恢复正常。
npm install
我正在使用物理设备,在我的情况下,这解决了问题:
lsof -i :8081
kill -9 PID
react-native
run-android
我们所做的修复是确保在构建之前设置了ANDROID_HOME和PATH变量。
首先,运行以下两个命令,然后构建设备的应用程序。
export ANDROID_HOME = / Users / username / MyFiles / applications / androidsdk export PATH = $ PATH:$ ANDROID_HOME / tools:$ ANDROID_HOME / platform-tools
对于我的情况,我在iOS上面对它,并且我尝试使用下面的命令重置并清除所有缓存但是也失败了,尽管许多评论说根本原因是反应包装器在某处意外运行,我重新启动我的mac和问题仍然存在。
watchman watch-del-all && rm -rf node_modules/ && yarn cache clean && yarn install && yarn start --reset-cache
解决方案是删除构建文件夹@ /ios/build ,然后执行 react-native run-ios 解决了它
/ios/build
react-native run-ios
这不是一个修复,但在我的情况下,我在我的设备上安装了多个RN应用程序,我在不知不觉中尝试从错误的应用程序中“重新加载”。 (我现在正在同时开发两个应用程序)所以请确保您使用的是正确的应用程序!
当您尝试在不关闭之前应用程序运行的节点服务器的情况下运行时,有时会发生这种情况,因此请尝试重新启动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.json中指定的react-native版本(在依赖项 - react-native下)更改为错误消息中显示的“Native Version”。然后再次运行'npm install'。
我也使用Expo和iOS模拟器这个问题。对我有用的是擦除模拟器 Hardware > Erase All Content and Settings...
Hardware > Erase All Content and Settings...
如果您使用create-react-native-app创建了您的react-native应用程序。你应该有一个app.json(世博会)。和package.json文件一样,检查expo版本是否匹配并相应更改。例如在我的情况下,问题是在app.json文件中我有一个25.0.0版本 的 expo sdkVersion属性 强> ,我将其更改为23.0.0,一切正常。
的package.json:
"dependencies": { "expo": "^23.0.4", "react": "16.0.0", "react-native": "^0.50.4" }
app.json:
{ "expo": { "sdkVersion": "23.0.0" // before was 25.0.0 } }
只需强制在你的android的应用程序级gradle文件中反应原生版本,在 dependencies 部分。
dependencies
compile ("com.facebook.react:react-native:0.52.0") { force = true }
为我工作
在build.gradle文件中添加以下内容
implementation ("com.facebook.react:react-native:0.51.0") { force = true; }
更换 0.51.0 使用package.json中的版本
0.51.0
打开projectdir / android / app / build.gradle
尝试:
compile(“com.facebook.react:react-native:0.51.0”){force = true}
代替 编译“com.facebook.react:react-native:0.51.0”{force = true}
参考: 链接
可能的修复:
watchman watch-del-all && rm -rf $TMPDIR/react-* && rm -rf $TMPDIR/haste-map-react-native-packager-* && rm -rf node_modules/&& npm install
如果问题仍然存在,请尝试执行 的 项目 强> 直接来自 的 Xcode中 强>
这对我有用。
尝试再次安装依赖项。这对我有用 -
1.) yarn/npm install 2.) yarn/npm start --reset-cache
yarn/npm install
yarn/npm start --reset-cache
我之前从未见过这个错误,但每当我无法让Xcode和React-Native在一起玩的时候,我会做一些事情。检查我正在使用的Xcode版本。如果需要更新,我会更新它。然后清理守望者和缓存是我去的第二个地方。我不使用reset cache命令。它总是说我需要验证缓存,所以我跳过它(你可以这样做,但我只是感到困惑)。我使用rm -rf $ TMPDIR / react- *来摆脱任何缓存的构建。如果这不起作用,我尝试在Xcode中构建应用程序,然后从那里开始工作,用react-native run-ios构建它。有了这个错误消息,您似乎可以从尝试使用Xcode构建它开始。希望有所帮助...让我知道你的进步。祝好运! (此外,您可以更新到RN 0.51作为另一种尝试同步您的版本。)
对我来说这是应该的 react-native 版本 dependency 部分 package.json 文件。它是:
dependency
"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" }
现在它工作正常。