【问题标题】:React Native Duplicate module naming collisionReact Native Duplicate 模块命名冲突
【发布时间】:2016-12-06 00:07:01
【问题描述】:

当我将特定的 npm 包安装到我的 react 本机项目并尝试运行它时,我收到以下错误:

This error is caused by a @providesModule declaration with the same name accross two different files.
Error: @providesModule naming collision:
Duplicate module name: promiseRejectionIsError
Paths:

projectname/node_modules/react-native-stripe-api/node_modules/react-native/Libraries/promiseRejectionIsError.js collides with

projectname/node_modules/react-native/Libraries/promiseRejectionIsError.js

问题:这个包react-native-stripe-api 似乎正在安装另一个与所有项目模块冲突的 react 和 react-native 模块。

我认为这是因为特定版本的 react 和 react-native 模块被定义为 react-native-stripe-api/package.json 中的依赖项:

  "dependencies": {
    "babel-polyfill": "6.9.1",
    "react": "15.1.0",
    "react-native": "0.27.2"
  },

似乎这些应该被删除。

对 npm 有更多了解的人能否确认这实际上是定义节点依赖项的正确方法。以及解决问题的适当方案。

【问题讨论】:

    标签: reactjs npm react-native


    【解决方案1】:

    您应该删除node_modules文件夹,然后执行npm cache clean,确保您的项目根文件夹下没有临时缓存文件或文件夹(如react-native-packager-cache-81b2c446等),然后重新执行@987654324 @

    【讨论】:

      【解决方案2】:

      你的评估是正确的

      对 npm 有更多了解的人能否确认这实际上是定义节点依赖项的正确方法。

      他们应该将react 引用为peerDependencies

      以及解决问题的适当解决方案。

      快速修复:删除多余的 react 版本

      Longfix: Submit a pull request 反应为peer dependency

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-06-21
        • 1970-01-01
        • 2015-08-03
        • 1970-01-01
        • 2020-03-21
        • 2019-06-04
        • 2018-04-24
        相关资源
        最近更新 更多