React Native:@providesModule两个不同文件中具有相同名称的声明



我们有两个存储库,它们都react-native作为依赖项;一个是实际的RN应用程序,另一个是包含许多自定义反应本机组件的UI包。

当我将 UI 包与 RN 应用程序进行符号链接(使用 npm link (并尝试启动 js 服务器时,它会抛出以下错误:

This error is caused by a @providesModule declaration with the same name across two different files.

这似乎是因为它在 UI 包的 react-native 副本中选取相同的 RN 文件。

我知道守望者不使用符号链接存在问题,但我认为这是不同的 - 与有两个react-native模块有关。有谁知道解决这个问题的方法吗?我已经确保两者都是相同的版本号,但仍然没有。

这也毁了我的一天。 作为一种快速解决方法,您可以在 React-native-router-flux 中的 node_modules 文件夹中删除 React-native 的文件夹。node_modules> 反应原生路由器通量> node_modules>反应原生(丑陋,但至少会让你暂时启动并运行

当您的依赖树中有两个同名模块时,就会发生这种情况,通常是因为您有两个具有@providesModule声明的包副本(通常react-native,似乎(。一个完整的示例错误:

This warning is caused by a @providesModule declaration with the same name across two different files.
jest-haste-map: @providesModule naming collision:
  Duplicate module name: yargs
  Paths:
  /Users/me/Documents/git/MyProject/node_modules/react-native-macos/node_modules/yargs/package.json collides with:
  /Users/me/Documents/git/MyProject/node_modules/react-native/node_modules/yargs/package.json

这是我在 React Native 的一个分支上工作的症状,react-native-macos,但已将react-native安装到同一个存储库中。

就我而言,我只需要卸载我自己安装的react-native即可继续;在@Hafiz的情况下,他的react-native-router-flux依赖项在内部捆绑了自己的react-native副本,所以他不得不手动删除它——这个错误在于存储库所有者。令人高兴的是,他们已经解决了这个问题。

相关内容

  • 没有找到相关文章

最新更新