Expo-Native使用expo-maps遇报错,咨询app.json中Expo模块配置方法
解决 Expo-Maps 模块找不到与导出错误的配置方案
修正 app.json 配置格式
你当前的配置里犯了一个常见错误:把布尔类型的requestLocationPermission写成了字符串"true",这会导致Expo无法正确解析插件配置,进而触发模块找不到的错误。正确的配置写法如下:
{ "expo": { // 保留你原有的其他配置(比如name、slug等) "plugins": [ [ "expo-maps", { "requestLocationPermission": true, "locationPermission": "Allow $(PRODUCT_NAME) to use your location" } ] ] } }
核心修正点:
requestLocationPermission必须是布尔值,去掉引号直接写true- 确保整个
plugins数组嵌套在expo根字段下,不要出现层级错误
额外排查步骤(解决两类错误的关键)
光改配置可能不够,这两个错误还可能和依赖、构建缓存有关:
- 重新安装匹配版本的依赖:执行
npx expo install expo-maps,确保模块版本和你的Expo SDK版本兼容 - 清理并重建项目:
- 托管工作流:运行
npx expo prebuild --clean清除旧的构建文件后重新生成 - 裸工作流:iOS端执行
npx pod-install,Android端在Android Studio中同步项目文件
- 托管工作流:运行
- 清除Expo缓存:启动项目时加
--clear参数,即npx expo start --clear
可选的权限精细化配置(针对Android)
如果需要更严格的位置权限控制,还可以在expo-maps的配置中添加Android专属字段:
[ "expo-maps", { "requestLocationPermission": true, "locationPermission": "Allow $(PRODUCT_NAME) to use your location", "androidLocationPermission": "android.permission.ACCESS_FINE_LOCATION" } ]
内容的提问来源于stack exchange,提问作者Software Engineer
相关产品推荐
相关产品推荐

