Jest терпит неудачу с ошибкой: не удается найти модуль 'response/lib/ReactComponentTreeHook'

Я установил Jest v17.0.3 в свой проект реагирования.

Когда я запускаю jest локально, он работает нормально, но на сервере сборки он терпит неудачу:

Ошибка: не удается найти модуль 'response/lib/ReactComponentTreeHook' из 'ReactDebugTool.js'

Обе машины - это хост версии 6.9.1 и npm версии 4.0.2.

Ответы

Ответ 1

использовать такую же реакционную реакцию и реакцию. Моя проблема исправлена после использования этой команды

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

эта проблема особенно возникает при реакции 15.4.0 выше.

Ответ 2

Можете ли вы проверить, какую версию React вы используете? Это то же самое на обоих серверах? Я попытался бы удалить node_modules и переустановить зависимости. Причина, по которой я предлагаю это, заключается в том, что в React v15.4.0 вы не можете импортировать private apis, и кажется, что ReactDebugTools.js пытается импортировать из ReactDebugTools.js react/lib/...

Из blogpost о React v15.4.0 (ссылка):

Тем не менее, существует вероятность того, что вы импортировали частные API из реакции /lib/* или что пакет, на который вы полагаетесь, может их использовать. Напоминаем, что это никогда не поддерживалось и что ваши приложения не должны полагаться на внутренние API. Внутренние элементы React будут меняться, поскольку мы работаем над тем, чтобы сделать React лучше.

Надеюсь это поможет!

Ответ 3

В последних версиях реакции мы часто видим эту ошибку, поскольку мы загрузили 2 версии реакции:

Чтобы убедиться, что у вас всего одна версия, запустите в своем терминале следующее:

  1. npm ls реакционная способность enter image description here

  2. npm ls реагируют enter image description here

И реактивные, и реактивные версии должны быть одинаковыми. Если какой-либо из них возвращает более одной версии, то это не поддерживается. Затем вы должны исправить его в соответствующем пакете. Json

Ответ 4

У меня была та же проблема, и я удалил node_modules и запустил установку npm, и она устранила проблему.