2016-12-01 34 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

相關問題