首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不变冲突:尝试注册两个视图,同名为RNCSafeAreaProvider,js引擎: hermes

不变冲突:尝试注册两个视图,同名为RNCSafeAreaProvider,js引擎: hermes
EN

Stack Overflow用户
提问于 2022-06-02 02:14:46
回答 2查看 1.7K关注 0票数 5

当我试图导入和使用GiftedChat组件时,我收到了这个错误:

Invariant Violation: Tried to register two views with the same name RNCSafeAreaProvider, js engine: hermes

我已经尝试过一些列出这里的东西。人们似乎与其他有关“反应-本机-安全区域-环境”的软件包存在类似问题。

  • 我已经更新了“react本机-安全区域-上下文”(4.2.5在这篇文章中)
  • 卸载“react本机-安全区域-上下文”
    • rm node_modules
    • rm -rf ios/Pods && ios/Podfile.lock
    • rm包-lock.json
    • npm安装
    • 重新安装豆荚-> npx安装
    • 再次将项目构建为相同的错误。

我不使用世博,但我使用的反应本地CLI。

在我看来,问题是“反应-本土-天才-聊天”。

详细信息:

  • “反应-本地人”:"0.66.4“
  • “反应-本机-安全区-上下文”:"^3.1.9“
  • “反应-本土-天才-聊天”:"^1.0.0“

如果有人有任何想法或见解,我将不胜感激。如果我找到了解决方案,我会把它作为评论发布。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-06-02 02:58:11

根据 post,错误意味着安装了相同的扩展多次。

检查使用“react本机-安全区域-视图”的位置。

npm list react-native-safe-area-context

结果:

代码语言:javascript
运行
复制
├─┬ @react-navigation/bottom-tabs@6.3.1
│ ├─┬ @react-navigation/elements@1.3.3
│ │ └── react-native-safe-area-context@3.1.9 deduped
│ └── react-native-safe-area-context@3.1.9 deduped
├─┬ @react-navigation/stack@6.2.1
│ └── react-native-safe-area-context@3.1.9 deduped
├─┬ react-native-gifted-chat@1.0.0
│ └── react-native-safe-area-context@4.2.4
└── react-native-safe-area-context@3.1.9

似乎天资聊天吸引了4.2.4和3.1.9

更新最新版本的“react本机-安全区域-上下文”(4.2.5)

ran npm dedupe

“反应-土生土长-天资-聊天”似乎仍然有两个版本。

代码语言:javascript
运行
复制
├─┬ @react-navigation/bottom-tabs@6.3.1
│ ├─┬ @react-navigation/elements@1.3.3
│ │ └── react-native-safe-area-context@4.2.5 deduped
│ └── react-native-safe-area-context@4.2.5 deduped
├─┬ @react-navigation/stack@6.2.1
│ └── react-native-safe-area-context@4.2.5 deduped
├─┬ react-native-gifted-chat@1.0.0
│ └── react-native-safe-area-context@4.2.4
└── react-native-safe-area-context@4.2.5

这似乎很奇怪,所以我在node_modulesnode_modules/node_modules/react-native-gifted-chat/package.json中检查了包本身,发现依赖项具体地请求了4.2.4

代码语言:javascript
运行
复制
  "dependencies": {
    "@expo/react-native-action-sheet": "3.13.0",
    "dayjs": "1.8.26",
    "prop-types": "15.7.2",
    "react-native-communications": "2.2.1",
    "react-native-iphone-x-helper": "1.3.1",
    "react-native-lightbox-v2": "0.9.0",
    "react-native-parsed-text": "0.0.22",
    --> "react-native-safe-area-context": "4.2.4", <--
    "react-native-typing-animation": "0.1.7",
    "use-memo-one": "1.1.1",
    "uuid": "3.4.0"
  },

它们不需要^4.2.4,而是专门要求版本4.2.4。

附带注意:^字符定义了一系列可接受的版本,这些版本包括从指定到但不包括下一个版本的所有修补程序和次要版本。因此,"^1.2.3“可以近似地展开为">=1.2.3 <2.0.0”。

什么意思?

我安装了所需的“react本机-天赋-聊天”版本,它将与所有其他依赖项一起工作,然后检查它是否最终被取消。

npm install react-native-safe-area-context@4.2.4

npm list react-native-safe-area-context

最终脱钩

代码语言:javascript
运行
复制
├─┬ @react-navigation/bottom-tabs@6.3.1
│ ├─┬ @react-navigation/elements@1.3.3
│ │ └── react-native-safe-area-context@4.2.4 deduped
│ └── react-native-safe-area-context@4.2.4 deduped
├─┬ @react-navigation/stack@6.2.1
│ └── react-native-safe-area-context@4.2.4 deduped
├─┬ react-native-gifted-chat@1.0.0
│ └── react-native-safe-area-context@4.2.4 deduped
└── react-native-safe-area-context@4.2.4

错误修正。

别忘了重新安装你的吊舱。

TL;博士

  • “反应-土生土长-天资-聊天”没有写对他们的package.json。
  • 他们specifically需要4.2.4版本的“反应-本机-安全-区域-上下文”
  • 它们应该需要版本^4.2.4 (>=4.2.4 < 5.0.0)
  • 安装此特定版本解决了问题,因为没有使用两个版本的包。npm install react-native-safe-area-context@4.2.4
  • 也可以做一个“反应-本土-天才-聊天”补丁,使刚刚列出的修复。
  • 别忘了重新安装你的吊舱和爵士乐
票数 15
EN

Stack Overflow用户

发布于 2022-09-11 18:00:51

对我来说,在将react本机-安全区域-上下文升级到4.3.3版本之后,它的工作效率很好。

代码语言:javascript
运行
复制
npm i react-native-safe-area-context@4.3.3
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72469920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档