无法解析模块`react / lib / ReactComponentTreeHook`

时间:2017-05-02 16:51:33

标签: node.js reactjs react-native

我试图升级React Native并且我遇到了以下问题:

error: bundling: UnableToResolveError: Unable to resolve module `react/lib/ReactComponentTreeHook` from `/Users/anthony/dev/apptova-react/node_modules/react-native/Libraries/Performance/Systrace.js`: Module does not exist in the module map or in these directories:
  /Users/anthony/dev/apptova-react/node_modules/react-native/node_modules/react/lib
,   /Users/anthony/dev/apptova-react/node_modules/react/lib

我很困惑。我无法在任何地方node_modules找到任何名为ReactComponentTreeHook的库。

我已尝试删除node_modules文件夹并重新安装,nada。我还清除了守望者手表并重置了包装缓存。

编辑:我一直在遇到似乎源于react-native-maps的问题,所以我重新调整回工作稳定版本,卸载react-native-maps,然后运行反应 - native-git-upgrade(再次)。

现在我得到了:

error: bundling: UnableToResolveError: Unable to resolve module `react/lib/ReactDebugCurrentFrame` from `/Users/anthony/dev/apptova-react/node_modules/react-native/Libraries/Renderer/src/renderers/shared/stack/reconciler/ReactCompositeComponent.js`: Module does not exist in the module map or in these directories:
  /Users/anthony/dev/apptova-react/node_modules/react-native/node_modules/react/lib
,   /Users/anthony/dev/apptova-react/node_modules/react/lib

我只是尝试最新,我的package.json依赖项很简单,所以我不认为它与第三方代码库有冲突:

"dependencies": {
    "react": "15.4.1",
    "react-native": "^0.43.1",
    "react-native-drawer": "^2.3.0"
  },
  "devDependencies": {
    "babel-jest": "18.0.0",
    "babel-plugin-transform-flow-strip-types": "^6.21.0",
    "babel-preset-react-native": "1.9.1",
    "deepmerge": "^1.3.2",
    "flow-bin": "^0.37.4",
    "jest": "18.0.0",
    "react-test-renderer": "15.4.1"
  },

再次,完成了清除守望者手表,节点模块,重置包管理器的过程,并仍然出现此错误。

编辑2 在花了两天时间尝试实现这项工作后,我创建了一个新的空白项目,并将我的代码迁移过来。

3 个答案:

答案 0 :(得分:2)

确保package.json文件中的版本是您想要的版本。

例如,“react-native:^ 0.43.3”与“react-native:0.43.3”不同。

清理并重新安装所有内容。

如果错误仍然存​​在,请尝试安装react-native-git-upgrade

$ npm install -g react-native-git-upgrade

然后运行

$ react-native-git-upgrade x.y.z(version you want to upgrade to)

对我来说它有效。

如果您的版本太旧,那么您应该按照旧版本文档进行升级。

答案 1 :(得分:2)

如果您没有使用react-native版本所需的正确版本的响应,也可能发生这种情况。如果是这种情况,那么当您运行npm install时会收到类似警告。

npm WARN react-native@0.43.4 requires a peer of react@16.0.0-alpha.6 but none was installed.

要解决此问题,请停止react packager并通过运行以下命令升级react版本

npm install -save react@16.0.0-alpha.6

现在,重新运行应用程序,希望问题会消失。

我认为最近在react / lib下的许多模块被转移到react-dom / lib,这就是打包器无法找到一些模块的原因

答案 2 :(得分:0)

我按照以下步骤进行了操作

•删除的node_modules文件夹

•将^ 16.0.0-alpha.6替换为“ react”:“ 16.0.0-alpha.3”

•npm安装

•react-native run-android