Тестирование с помощью Jest завершилось ошибкой: Ошибка при просмотре файла на наличие изменений: EMFILE
Я пытался написать тест для приложения React.js. Все шло нормально, но после создания каталога, отслеживаемого с помощью Git(сделал с ним репозиторий Git). Тест не пройден с ошибкой ниже
2017-01-15 05:05 node[1278] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2017-01-15 05:05 node[1278] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
events.js:160
throw er; // Unhandled 'error' event
^
Error: Error watching file for changes: EMFILE
at exports._errnoException (util.js:1022:11)
at FSEvent.FSWatcher._handle.onchange (fs.js:1406:11)
Я уверен, что это из-за .git
каталог, потому что, когда я удаляю .git
каталог он работает без ошибок. Кажется, что исключение происходит при просмотре файлов. Моя среда разработки - MacOS 10.12.2 и Node 6.9.4. Как я могу решить эту проблему?
4 ответа
О, я собираюсь ответить на мой вопрос после нескольких часов моей борьбы.
Лучшее решение - установить последнюю версию Watchman.
Старая версия Watchman вызывает fsevents
Модуль выдает исключение.
После установки watchman
При желании вы можете запустить sudo chown -R $(whoami):staff ~/Library/LaunchAgents
дать разрешение.
У вас установлен сторож? Недавно мой коллега пролил воду на моем ноутбуке, поэтому после переноса проектов и т. Д. На новый ноутбук у меня возникла похожая проблема. После того, как я почесал голову, я понял, что мне просто нужно бежать brew install watchman
Предполагая, что у вас есть доморощенный конечно.
Я столкнулся с той же проблемой и обновить watchman
не исправил это для меня. Читая документацию Jest, вы обнаружите, что есть возможность отключить использование watchman
, Так что я думаю watchman
не обязательно.
Что исправило это для меня, так это обновить Jest до последней версии, используя npm install --save-dev jest@latest
,
В этом разделе README create-реакции-приложения описаны возможные способы решения этой надоедливой проблемы.
Мне лично пришлось переустанавливать сторожа - и тесты снова запускаются без помех.
У меня были аналогичные проблемы, как указано выше, и после просмотра комментариев я попытался установить watchman, запустив brew install watchman, но он предложил обновить до последней версии, и я сделал то же самое. Это решило мою проблему, и теперь я могу запускать свои тесты в шутку, используя npm test. Спасибо, парни
Для меня это была проблема с разрешением, когда вы устанавливаете watchman с homebrew, это говорит, что вы должны попробовать brew postinstall watchman. При этом вы заметите ошибку разрешения.
Error: Permission denied - /usr/local/var/run/watchman
sudo chown -R "$USER":admin /usr/local/var/run
решит проблему разрешения
brew postinstall watchman
буду работать