React Native项目RNSVGSvgView重复注册错误求助
解决"RNSVGSvgView重复注册"错误
这个错误是因为项目中存在多个版本或实例的react-native-svg,导致原生视图被重复注册。结合你的Expo + Tamagui + @lnanhkhoa/react-native-iconly环境,按以下步骤排查解决:
1. 强制统一react-native-svg版本
在package.json中添加版本覆盖配置,确保所有依赖都使用同一个兼容Expo 48的版本:
- 若使用npm,添加
overrides字段:{ // ... 其他原有配置 "overrides": { "react-native-svg": "13.4.0" } } - 若使用yarn,添加
resolutions字段:{ // ... 其他原有配置 "resolutions": { "react-native-svg": "13.4.0" } }
2. 彻底清理并重装依赖
执行以下命令清除旧依赖和缓存:
# 删除node_modules目录 rm -rf node_modules # 删除npm锁文件(npm用户执行) rm package-lock.json # 或删除yarn锁文件(yarn用户执行) rm yarn.lock # 重新安装依赖 npm install # 或 yarn install # 清除Expo缓存并重启项目 expo r -c
3. 改用Expo官方兼容的安装方式
如果直接安装react-native-svg仍有冲突,尝试用Expo命令安装适配版本:
expo install react-native-svg
Expo会自动匹配当前Expo 48版本的react-native-svg,避免版本不兼容问题。
4. 检查依赖树(可选)
运行以下命令查看哪些包依赖了react-native-svg,确认是否存在重复依赖:
npm ls react-native-svg # 或 yarn list react-native-svg
若发现Tamagui或图标库自带了不同版本的react-native-svg,上述版本覆盖方法会强制统一版本,解决冲突。
内容的提问来源于stack exchange,提问作者Mehmet
相关产品推荐
相关产品推荐

