Тестирование с помощью 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 

буду работать

Другие вопросы по тегам