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" 是:
- 未满足的对等依赖 firebase@4.1.2
- 未满足的同伴依赖 react@>=15.3.1
关于如何解决这个问题有什么建议吗?
根据我在您的 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。
在使用 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" 是:
- 未满足的对等依赖 firebase@4.1.2
- 未满足的同伴依赖 react@>=15.3.1
关于如何解决这个问题有什么建议吗?
根据我在您的 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。