我已经在我的反应项目中安装了Jest v17.0.3。
当我在本地运行jest它工作正常,但在构建服务器上它失败了:
错误:无法从'ReactDebugTool.js'找到模块'react / lib / ReactComponentTreeHook'
两台机器都运行节点版本6.9.1和npm版本4.0.2。
答案 0 :(得分:14)
使用相同版本的react和react-dom。使用此命令后我的问题已修复
npm install --save react@15.4.0 react-dom@15.4.0
这个问题特别发生在上面的15.4.0反应中。
答案 1 :(得分:5)
您可以查看您使用的是哪种版本的React吗?两台服务器上都一样吗?我会尝试删除node_modules
并重新安装依赖项。我建议这样做的原因是,在React v15.4.0中,您无法导入私有API,似乎ReactDebugTools.js
正在尝试从react/lib/...
导入。
关于React v15.4.0(Link)的博客文章:
但是,您可能从react / lib / *导入了私有API,或者您依赖的包可能会使用它们。我们想提醒您,这从未受到支持,您的应用不应依赖内部API。当我们努力使React变得更好时,React内部结构将不断变化。
希望这有帮助!
答案 2 :(得分:3)
在最新版本的反应中,我们经常看到这个错误,因为我们加载了2个版本的反应:
要确保您只有1个版本,请在终端中运行以下命令:
答案 3 :(得分:-2)
我有同样的问题,我删除了node_modules并运行了npm install,它修复了问题。