我的 expo react native 与 nativewind 项目有问题,当我将 expo SDK 从 51 升级到 52 并通过从应用商店下载的 expo 应用在实际设备 iPhone 12 pro 上测试该应用时,它通过以下命令成功构建 npx expo start -c
但显示以下错误
IOS 错误
(NOBRIDGE) LOG Bridgeless mode is enabled
(NOBRIDGE) ERROR Error: Exception in HostFunction: Unable to convert string to floating point value: "large"
This error is located at:
in RNSScreen (created by Animated(Anonymous))
in Animated(Anonymous)
in Suspender (created by Freeze)
in Suspense (created by Freeze)
in Freeze (created by DelayedFreeze)
in DelayedFreeze
in InnerScreen (created by Screen)
in Screen (created by MaybeScreen)
in MaybeScreen (created by CardStack)
in RNSScreenContainer (created by ScreenContainer)
in ScreenContainer (created by MaybeScreenContainer)
in MaybeScreenContainer (created by CardStack)
in RCTView (created by View)
in View (created by CssInterop.View)
in CssInterop.View (created by Animated(View))
in Animated(View) (created by Background)
in Background (created by CardStack)
in CardStack (created by HeaderShownContext)
in RNCSafeAreaProvider (created by SafeAreaProvider)
in SafeAreaProvider (created by SafeAreaProviderCompat)
in SafeAreaProviderCompat (created by StackView)
in RCTView (created by View)
in View (created by CssInterop.View)
in CssInterop.View (created by GestureHandlerRootView)
in GestureHandlerRootView (created by StackView)
in StackView (created by StackNavigator)
in PreventRemoveProvider (created by NavigationContent)
in NavigationContent
in Unknown (created by StackNavigator)
in StackNavigator (created by RootNavigator)
in RootNavigator (created by App)
in ThemeProvider
in EnsureSingleNavigator
in BaseNavigationContainer
in NavigationContainerInner (created by App)
in QueryClientProvider (created by App)
in I18nextProvider (created by App)
in ThemeProvider (created by App)
in RCTView (created by View)
in View (created by CssInterop.View)
in CssInterop.View (created by App)
in RCTView (created by View)
in View (created by CssInterop.View)
in CssInterop.View (created by GestureHandlerRootView)
in GestureHandlerRootView (created by App)
in App (created by withDevTools(App))
in withDevTools(App)
in RCTView (created by View)
in View (created by CssInterop.View)
in CssInterop.View (created by AppContainer)
in RCTView (created by View)
in View (created by CssInterop.View)
in CssInterop.View (created by AppContainer)
in AppContainer
in main(RootComponent)
Android 错误
(NOBRIDGE) LOG Bridgeless mode is enabled
(NOBRIDGE) ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNCWebView' could not be found. Verify that a module by this name is registered in the native binary.Bridgeless mode: true. TurboModule interop: true. Modules loaded: {"NativeModules":[],"TurboModules":["PlatformConstants","LogBox","SourceCode","Appearance","AppState","AccessibilityInfo","DeviceInfo","BlobModule","WebSocketModule","DevSettings","DevToolsSettingsManager","Networking","DevLoadingView","ImageLoader","SoundManager","IntentAndroid","DeviceEventManager","NativeReactNativeFeatureFlagsCxx","NativeAnimatedModule","ReanimatedModule","RNGestureHandlerModule","StatusBarManager","StatusBarManager","I18nManager","RNCAsyncStorage"],"NotFound":["NativePerformanceCxx","NativePerformanceObserverCxx","AccessibilityManager","RedBox","BugReporting","HeadlessJsTaskSupport","LinkingManager","RNCSafeAreaContext","FrameRateLogger","KeyboardObserver","RNSModule","PlatformLocalStorage","RNC_AsyncSQLiteDBStorage","RNCWebView"]}
(NOBRIDGE) WARN 🚨 React Native's New Architecture is always enabled in Expo Go, but it is not explicitly enabled your project app config. This may lead to unexpected behavior when you create a production or development build. Set "newArchEnabled": true in your app.json.
Learn more: https://docs.expo.dev/guides/new-architecture/
如何修复上述错误,谨致问候。
我尝试升级所有库并从干净的构建开始,但错误在 Android 和 IOS 上仍然出现相同的情况。
运行以下命令来诊断并修复 Expo 项目中的任何依赖问题:
这些命令将识别错误并解决任何依赖不匹配的问题。
如果您使用的是 Expo SDK 52,请注意它引入了新的架构。为避免与旧架构相关的问题,请确保您的 app.json 包含以下配置:
此设置可确保您的项目明确使用新架构,并使其与 Expo SDK 52 中的最新更新保持一致。