Expo 中的 React Native Peer Dependency 问题

React Native Peer Dependency issue in Expo

在使用 Expo 时,解决 React Native 中的对等依赖问题的最佳方法是什么?我遇到了对等依赖错误。我没有安装任何新的包来导致新的对等依赖,发生的事情是我遇到了节点模块错误(有时在 RN 中会发生),我不得不放弃并重新安装我所有的节点模块。

我认为当我重新实例化我的节点模块时有些东西不同步。关于如何解决它的任何想法?我已尝试对我的 package.json 进行专门的版本控制,但我没有找到正确的设置。 FWIT Expo 向我发出警告:

“Warning: ‘firebase’ peer depencency missing”

当我运行

npm install OR npm ls

我收到以下消息:

FWIT:我的 package.json 看起来像这样

{
  "name": "RN-expo",
  "version": "0.0.0",
  "description": "Hello Expo!",
  "author": null,
  "private": true,
  "main": "main.js",
  "dependencies": {
    "expo": "17.0.0",
    "firebase": "4.1.2",
    "geofire": "^4.1.2",
    "lodash": "^4.17.4",
    "moment": "^2.18.1",
    "react": "16.0.0-alpha.6",
    "react-native": "https://github.com/expo/react-native/archive/sdk-17.0.0.tar.gz",
    "react-native-gifted-chat": "^0.1.4",
    "react-native-modal-dropdown": "^0.4.4",
    "react-native-multislider": "0.0.14",
    "react-native-vector-icons": "^4.2.0",
    "react-navigation": "git+https://github.com/react-community/react-navigation.git"
  },
  "devDependencies": {
    "standard": "^10.0.2"
  }
}

这些错误没有发生在我团队中其他任何人的计算机上,因此我认为这与我计算机上的节点依赖性有关。我已经在我的电脑上完全卸载了所有与节点/npm 相关的 material 并尝试重新安装它以查看它是否解决了问题。

在 npm ls 中滚动时,我看到 "UNMET PEER DEPENDENCIES" 是:

关于如何解决这个问题有什么建议吗?

根据我在您的 package.json 中看到的情况,我预计您的队友也会遇到同样的警告。

geofire 和 firebase 之间的警告是因为您正在使用 firebase@4.1.2 但 geofire 需要 firebase 3.x。通常(但通常不会)像 geofire 这样的库可以与更新版本的对等依赖项一起使用,因此我建议询问 geofire 的作者它是否可以与 firebase@4.x.

一起使用

React Native 包和 React 之间的其他警告是虚假的。例如,react-native-maps 说它接受 react >= 15.4.0 而你正在使用 react@16.0.0-alpha.6,这显然大于 15.4.0。 Yarn 已经解决了这个问题,它检测到 react@16.0.0-alpha.6 满足 react >= 15.4.0.

的要求

这就是说我希望您能看到您所看到的警告,而且 firebase 是合法的,您可以忽略 react。