【问题标题】:Resolving dependency conflicts with Expo and React Native解决与 Expo 和 React Native 的依赖冲突
【发布时间】:2023-12-25 00:17:01
【问题描述】:

我使用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 专门使用了 React Native 0.55.4this table

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

警告“expo > react-native-maps@0.21.0”具有不正确的对等依赖关系“react-native@^0.51 || ^0.52 || ^0.53 || ^0.54”。

警告“expo > react-native-reanimated@1.0.0-alpha.3”具有不正确的对等依赖关系“react-native@^0.44.1”。

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

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

【问题讨论】:

    标签: reactjs react-native expo yarnpkg create-react-native-app


    【解决方案1】:

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

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

    另一种选择是在所有依赖项都赶上之前不要将 react-native 升级到 0.55。

    【讨论】:

    • 这一切都说得通,但为什么 Expo 需要一个 Expo 的依赖项不支持的 react-native 版本?
    • 我认为他错过了关于它是一个新鲜的应用程序的重点?我也不是很明白。这一切都是非常片状的感觉。当事情显然不是稳定时,为什么还要将它们标记为稳定呢?重点是,如果您只是浏览了官方(或多或少)入门指南,并且您的输出现在至少在 Windows 上充满了不正确的 dep 和未满足的依赖项消息。
    最近更新 更多