2016-12-01 73 views
13

我已经安装了玩笑v17.0.3在我反应过来的项目。玩笑失败,错误:无法找到模块“反应/ lib目录/ ReactComponentTreeHook”

当我运行本地开玩笑它工作正常,但在构建服务器失败有:

Error: Cannot find module 'react/lib/ReactComponentTreeHook' from 'ReactDebugTool.js'

两台机器正在运行的节点版本6.9.1和NPM版本4.0.2。

+0

我今天有一个类似的问题,我认为它与丢失的依赖关系,因为它发生在我改变我的'package.json'文件的上下文。 –

+0

你找到答案了吗?我也有同样的问题。 – Flavien

+0

我不小心从我的构建脚本中删除了'npm install',并且因为这个原因我有了旧的模块。 –

回答

11

使用相同版本的反应和反应。使用该命令

npm install --save [email protected] [email protected] 

此问题特别发生在上述反应后15.4.0我的问题固定。

+0

在我的情况下,它是'react-test “表达者”的反应和反应不能达到同等水平。 – Johnride

5

你可以检查反应使用的是哪个版本?两台服务器都一样吗?我会尝试删除node_modules并重新安装依赖项。我建议这样做的原因是,在React v15.4.0中,您无法导入私有API,而且似乎ReactDebugTools.js正尝试从react/lib/...导入。

从博客帖子大约阵营v15.4.0(Link):

However, there is a possibility that you imported private APIs from react/lib/*, or that a package you rely on might use them. We would like to remind you that this was never supported, and that your apps should not rely on internal APIs. The React internals will keep changing as we work to make React better.

希望这有助于!

-3

我有同样的问题,我删除了node_modules就跑NPM安装,它解决了这一问题。

+7

虽然答案总是值得赞赏的,但这个问题在2个月前被问及,并且已经有了一个可接受的解决方案。接受的解决方案还涵盖了您提出的**精确**点。请尽量避免通过向他们提供答案来'顶着'问题,除非这个问题还没有被标记为已解决,或者您找到了一个更好的替代方法来解决问题:) –

2

在最新版本的反应,我们经常看到,因为我们已加载2个版本的反应这个错误:

要确保你刚才1版本,运行在终端如下:

  1. NPM LS反应-DOM enter image description here

  2. NPM LS反应 enter image description here

无论是反应,反应-DOM版本必须相同。 如果其中任何一个返回超过1个版本,那么不支持。你必须纠正它在你的相应package.json

相关问题