解决与 Expo 和 React Native 的依赖冲突

Resolving dependency conflicts with Expo and React Native

我使用 create-react-native-app 创建了一个新应用,并立即使用 these instructions 将 Expo SDK 更新为 29.0.0

其中一个指令是在package.json中设置"react-native": "https://github.com/expo/react-native/archive/sdk-29.0.0.tar.gz"。此版本的 Expo 根据 this table.

特别使用 React Native 0.55.4

然而,当我 yarn install 时,我收到如下依赖性警告:

warning "expo > react-native-maps@0.21.0" has incorrect peer dependency "react-native@^0.51 || ^0.52 || ^0.53 || ^0.54".

warning "expo > react-native-reanimated@1.0.0-alpha.3" has incorrect peer dependency "react-native@^0.44.1".

如果 Expo 需要一个版本的 React Native,我想我很困惑如何解决这些问题,而 Expo 的依赖项 需要一个冲突的版本。

一般来说,您是如何解决这类冲突的?我得到的大部分建议是“如果您的应用程序有效,请忽略它们”。这实际上是公认的方法吗?

那里的错误意味着 react-native-maps 的 0.21.0 版本尚未更新为与 react-native 0.55 一起使用。

如果有更新版本的 react-native-maps 您可以使用,那么您应该更新到它,否则您可以忽略它,事情可能会或可能不会工作,具体取决于 0.54 和 0.55 之间的变化。在 javascript-land 中,您不太可能在运行时看到错误,因此这可能涉及一些测试。

另一种选择是不升级 react-native 到 0.55,直到你的所有依赖项都赶上。