Answers:
这是我所做的:
关闭所有终端,然后再次运行build。
您可能会忘记从另一个项目中关闭nodejs终端,而它们恰好安装了不同的react版本。
因此,从nodejs服务器获取的代码与本机代码冲突。
Bundling 'index.android.js' 100.0% (1/1), done
。
build.gradle
工作中完全使用react依赖版本。谢谢@Val
react-native run-ios
pod install
如果使用cocoapods,也可以运行。
如果您使用create-react-native-app创建了您的react-native应用程序。您应该有一个app.json(expo)。和package.json文件,检查博览会版本是否匹配并进行相应更改。例如,在我的情况下,问题是在app.json文件中,expo sdkVersion属性的版本为25.0.0 ,我将其更改为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/app/build.gradle
,然后添加到dependencies
部分:
dependencies{
compile ("com.facebook.react:react-native:0.50.3") { force = true }
}
/// react本地版本可以在package.json中找到
只需在该dependencies
部分的Android应用级gradle文件中强制响应本机版本即可。
compile ("com.facebook.react:react-native:0.52.0") { force = true }
为我工作
npm start -- --reset-cache
又跑了react-native run-android
我以前从未见过此错误,但是每当我无法让Xcode和React-Native一起玩得很好时,我都会做一些事情。检查我使用的Xcode版本。如果需要更新,请更新。然后清除看守和缓存是我要去的第二个地方。我不使用reset cache命令。它总是说我需要验证缓存,因此我跳过了这一点(尽管可以做到,但是我很困惑)。我使用rm -rf $ TMPDIR / react- *摆脱任何缓存的版本。如果那不起作用,我尝试在Xcode中构建该应用程序,然后从那里开始,使用react-native run-ios进行构建。出现此错误消息后,您似乎可能开始尝试使用Xcode进行构建。希望能对您有所帮助...让我知道您的进度。祝好运!(此外,您可以更新到RN 0。
如果您通过Expo运行React Native应用程序,则升级React Native容易导致此错误(如https://github.com/expo/expo/issues/923所述)。
如果您的情况是这样,则可以选择:
package.json
)升级到与React Native版本兼容的版本(如果存在,则可能不是这种情况-从链接问题来看,我认为Expo支持落后于React Native版本)。我遇到这个问题的时间最长,上述解决方案均无济于事。我正在升级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
和package.json
文件以匹配相应的版本并运行使npm install
所有功能重新运行。
我正在使用物理设备,就我而言,这解决了问题:
lsof -i :8081
kill -9 PID
react-native run-android
或react-native run-ios
)lsof -i :8081
在iOS Simulator上,只需杀死所有PID 并进行重建即可。
在您的build.gradle文件中添加以下内容
implementation ("com.facebook.react:react-native:0.51.0") {
force = true;
}
替换0.51.0
为package.json中的版本
对我来说,这是由于文件部分中的react-native
版本。它是:dependency
package.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"
}
现在工作正常。
就我而言,安装新的虚拟设备很有帮助。现在,每个应用我使用1台设备。
就我而言(不使用EXPO和Android构建)
package.json
"dependencies": {
"react": "16.3.1",
"react-native": "0.55.2"
}
和app.json
{
"sdkVersion": "27"
}
解决了这个问题
我试图从WebStorm构建和运行React Native应用程序并遇到此问题。对我来说,简单的解决方案是:
watchman watch-del-all
在macOS上,如果watchman
尚未安装,请使用Homebrew进行安装:
brew install watchman
尝试将package.json中指定的react-native版本(在依赖关系下-react-native)更改为与错误消息中显示的“ Native Version”相同。然后再次运行“ npm install”。
在为Android构建本机应用程序时遇到了同样的问题,我做了以下对我有用的事情。
错误控制台中的“ JavaScript版本0.50.1”是package.json
文件中的本机版本。确保它与错误控制台中的“本地版本0.50.0”相同。
react-native run-android
。打开项目目录/ 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}
参考: 链接