реагировать на родной внезапный Невозможно разрешить ошибку модуля `fs`

У меня возникла внезапная ошибка, которую модуль "fs" не может разрешить. Но я не использовал этот модуль и ничего не менял. Мое приложение внезапно возвращает эту ошибку при запуске.

ошибка: сбой объединения: ошибка: невозможно разрешить модуль fs из /Path/to/Project/node_modules/handlebars/lib/index.js: модуль fs не существует на карте модуля ускорения

Это может быть связано с https://github.com/facebook/react-native/issues/4968 Чтобы решить эту проблему, попробуйте следующее:

  1. Четкие часы сторожа: watchman watch-del-all.
  2. Удалите папку node_modules: rm -rf node_modules && npm install.
  3. Сбросить кеш Metro Bundler: rm -rf /tmp/metro-bundler-cache-* или npm start -- --reset-cache.
  4. Удалить кеш-память: rm -rf /tmp/haste-map-react-native-packager-*.

Я уже пробовал четыре шага для решения, несколько раз, но ничего не помогло. Есть идеи, что может быть не так?


person dav1904    schedule 14.06.2019    source источник
comment
Вы случайно что-нибудь импортировали из модуля fs? Просто сначала выполните глобальный поиск, чтобы убедиться в этом.   -  person Samitha Nanayakkara    schedule 14.06.2019
comment
В своем проекте с fs ничего не нашел   -  person dav1904    schedule 14.06.2019
comment
Это происходит потому, что либо вы случайно импортировали что-то из файловой системы Node.js, что несовместимо, поскольку вы не запускаете приложение в среде узла, либо вы используете модуль, который использует файловую систему node.js.   -  person Samitha Nanayakkara    schedule 14.06.2019
comment
yarn или npm install тоже не помогает   -  person dav1904    schedule 14.06.2019
comment
Иногда VScode генерирует что-то вроде 'import {stat} from' fs '; вы знаете, когда пишете код. Проверьте, есть ли у вас импорт в приложении с модулем 'fs' ..   -  person Gowtham    schedule 15.06.2019


Ответы (5)


Для меня проблема заключалась в том, что VSCode вставил некоторые импорты в верхнюю часть одного из моих файлов js. Очень странно. Это были строки:

import { tsConstructorType } from '@babel/types';
import { logger } from 'handlebars';
person Dan Kronholm    schedule 12.09.2019
comment
Тем же! Строка была такой: import {formatResultsErrors} из 'jest-message-util'; - person Hugo; 01.11.2019
comment
Ты спас мне день! моя строка была импортом NodeEnvironment из 'jest-environment-node'; Не знаю, как это добавил vscode, довольно страшно - person lamazing; 14.11.2019
comment
Невероятный. Я потратил полдня на размышления, почему моя заявка зависает. Спасибо! - person gbones; 21.11.2019
comment
То же самое с VSCode, автоматически импортирующим эту строку: import { format } from 'prettier'; - person Olivier; 28.04.2020

Один из моих узловых модулей зависит от react-native-dotenv, но в его коде использовался старый импорт, например import {} from 'react-native-dotenv'. Но последняя версия dotenv использует import {} from '@env'. Исправление этого импорта в модуле решило проблему.

person Martin Atanasov    schedule 23.10.2020

Обычно эти неожиданные ошибки можно исправить, очистив кеш. Запустите $ expo start --clear.

person Harry Moreno    schedule 26.06.2019

У меня была эта ошибка, потому что я пытался использовать dotenv, когда мне следовало использовать один из этих пакетов, ориентированных на реагирование. Убедитесь, что все ваши установленные пакеты совместимы с react native.

person Andrew    schedule 31.07.2019

У меня была именно эта проблема. Пользователи Visual Studio Code, автозаполнение иногда автоматически импортирует ненужные модули в начало файла, и вы этого не заметите. Выполнение git diff выявило следующие строки, которые у меня не было в памяти о каждой записи в верхней части файла, над которым я работал:

+import { clearConfigCache } from 'prettier';
+import { createIconSetFromFontello } from 'react-native-vector-icons';

Как избежать:

Запустите git diff и прочтите каждую следующую строку. Преступники обычно появляются.

person Dane_duPlessis    schedule 30.07.2020