需要不同版本的包

Sae*_*eid 5 javascript npm reactjs expo

我正在尝试将Expo,React和React-Native安装为项目的依赖项.这package.jason是这样的:

"main": "node_modules/expo/AppEntry.js",
"private": true,
"dependencies": {
    "expo": "^28.0.0",
    "expo-three": "^3.0.0-alpha.2",
    "react-native": "0.48.3",
    "react": "15.0.0",
    "three": "^0.93.0"
}
Run Code Online (Sandbox Code Playgroud)

问题是每个包都需要dep和peer dep的特定版本.通过安装特定版本的包,其他人抛出错误.

??? expo@28.0.0
??? expo-three@3.0.0-alpha.2
??? UNMET PEER DEPENDENCY react@15.0.0
??? react-native@0.48.3
??? three@0.93.0

npm ERR! peer dep missing: react@> 15.0.0, required by react-native-gesture-handler@1.0.4
npm ERR! peer dep missing: react@^16.0, required by react-native-maps@0.21.0
npm ERR! peer dep missing: react@16.0.0-alpha.6, required by react-native-reanimated@1.0.0-alpha.3
Run Code Online (Sandbox Code Playgroud)

我以为我可以安装最新版本并支持所有版本,但是没有用.

小智 0

我创建了一个包含 package.json 的项目,其中仅包含您共享的包,并且我使用npmversion安装了这些包6.1.0

这是输出: 在此输入图像描述

这意味着您应该安装比 package.json 中的版本更新的版本

例如,"react-native": "0.48.3", 需要 React 版本 16,而您正在使用版本 15。

如果您更新到"react": "16.3.0""react-native": "0.54.0"大多数问题都可以解决。但是,请确保您可以进行此更新,将 React 从 15 更新到 16 时有一些注意事项。