web-dev-qa-db-ja.com

Jestが次のエラーで失敗する:モジュール 'react / lib / ReactComponentTreeHook'が見つかりません

反応プロジェクトにJest v17.0.3をインストールしました。

ローカルでjestを実行すると正常に動作しますが、ビルドサーバーでは次のように失敗します。

エラー:「ReactDebugTool.js」からモジュール「react/lib/ReactComponentTreeHook」が見つかりません

両方のマシンでノードバージョン6.9.1とnpmバージョン4.0.2が実行されています。

15
Bjorn Reppen

同じバージョンのreactとreact-domを使用します。このコマンドを使用した後、私の問題は修正されました

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

この問題は、特に上記の15.4.0で発生します。

14
Suben Saha

使用しているReactのバージョンを確認できますか?両方のサーバーで同じですか?node_modulesを削除して依存関係を再インストールしてみます。これを示唆している理由は、 React v15.4.0では、プライベートAPIをインポートできず、ReactDebugTools.jsreact/lib/...からインポートしようとしているようです。

React v15.4.0( Link )に関するブログ投稿から:

ただし、react/lib/*からプライベートAPIをインポートしたか、依存するパッケージがそれらを使用する可能性があります。これはサポートされたことはなく、アプリが内部APIに依存するべきではないことをお知らせします。 React内部は、Reactをより良くするために努力するにつれて変化し続けます。

お役に立てれば!

5
manosim

反応の最新バージョンでは、2つのバージョンの反応をロードしたため、このエラーがよく発生します。

バージョンが1つしかないことを確認するには、ターミナルで次のコマンドを実行します。

  1. npm ls react-dom enter image description here

  2. npm ls反応 enter image description here

Reactとreact-domの両方のバージョンが同じである必要があります。これらのいずれかが複数のバージョンを返す場合、それはサポートされません。次に、対応するpackage.jsonで修正する必要があります

3
Neil