>问题
我正在尝试在我的项目中Airbnb安装反应原生地图。安装说明: Airbnb/反应原生地图/安装
当我在cmd中运行以下命令时:npm install react-native-maps --save
这就是我得到的:'-- 反应原生-maps@0.14.0 npm WARN react-native-maps@0.14.0 需要 react@>=15.4.0 的对等体,但没有安装任何对等体。
如果我继续进一步安装并运行以下命令,请忽略这一点:react-native link react-native-maps
这就是我得到的:扫描 561 个文件夹中的符号链接以查找 C:\RNProjects\Mappode_modules 中的符号链接(39 毫秒) rnpm 安装信息 链接 react-native-maps ios 依赖项 rnpm-安装信息 iOS 模块反应原生地图已成功链接
^如我们所见,仅安装了与iOS相关的地图模块。在检查项目目录时,我能够验证没有安装与 android 相关的模块。
故障 排除
这是我尝试解决问题的事项列表,但没有一个奏效。
- 已尝试安装
npm install react@15.4.0 --save
收到以下警告:
npm WARN react-native@0.43.3 需要 react@16.0.0-alpha.6 的对等体,但没有安装任何对等体。 npm WARN react-test-renderer@16.0.0-alpha.6 需要 react@^16.0.0-alpha.6 的对等体,但没有安装任何对等体。
因此,为了解决此问题,我尝试使用以下命令安装 react@16.0.0-alpha.6:npm install react@16.0.0-alpha.6
。
我再次收到相同的消息:
npm WARN react-native-maps@0.14.0 需要 react@>=15.4.0 的对等体,但没有安装任何对等体。
- 尝试更新反应本机
npm update react-native
。
仍然收到相同的警告消息。
- 已尝试安装最新版本的 npm:
npm install npm@latest -g
.
没用。
附加信息
- 反应原生:0.43.3
- 反应本机 CLI:2.0.1
- 平台: 安卓
- 开发操作系统:视窗 10 操作系统
以下是我能够解决这个问题的方法(按时间顺序):
- 从项目中删除node_module目录
npm cache clean
- 修改后的 package.json with:"react":"~15.4.1";"反应原生":"0.42.3";"反应测试渲染器":"15.4.1">
npm install all module
npm install
npm i react-native-maps@0.12.5 --S
react-native link react-native-maps
一旦我这样做了,它就能够成功地将 android 和 ios react-native-modules 链接到项目。
注意:在运行react-native run-android
命令之前,
运行:cd android && gradlew clean && cd .. && react-native run-android
.
这将在运行前清洁 gradle,并有助于避免任何错误。
你可以试试:
- 删除node_module,npm 缓存清理;
-
修改包.json
"react": "~15.4.1","react-native">: "0.42.3","react-test-renderer": "~15.4.1",
-
npm 安装所有模块;
-
完成;)
以下是我能够解决相同问题的方法:
-
我删除了node_module文件夹(您可以验证 npm 缓存:
npm cache verify
) -
我实际上将package.json文件更改为以下内容:
"react": "~15.4.1"
、"react-native": "0.42.3"
、"react-test-renderer": "~15.4.1"
但这引发了我这边的其他错误;所以我把它们放回了最初的状态 值:一个。
"react": "17.0.1",
二.
"react-native": "0.64.0",
三.
"react-test-renderer": "17.0.1"
-
npm install all module
-
npm install
-
npm audit fix --force
-
npm i react-native-maps@0.12.5 --S
-
react-native link react-native-maps
-
此时我打开了 2 个终端:
a. 1号航站楼:
react-native start
b. 2 号航站楼:
react-native run-android
或yarn android