Testing with Jest failed with Error: Error watching file for changes: EMFILE
Testing with Jest failed with Error: Error watching file for changes: 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。
我该如何解决这个问题?
哦,经过数小时的努力,我将回答我的问题。
最好的解决办法是安装最新版本的 Watchman.
旧版Watchman导致fsevents
模块抛出异常
安装 watchman
后,您可以选择 运行 sudo chown -R $(whoami):staff ~/Library/LaunchAgents
授予权限。
对我来说这是一个权限问题,当你用自制软件安装 watchman 时说你应该尝试 brew postinstall watchman。
执行此操作时,您会注意到权限错误。
Error: Permission denied - /usr/local/var/run/watchman
sudo chown -R "$USER":admin /usr/local/var/run
然后解决权限问题
brew postinstall watchman
会起作用
This section of create-react-app's README 描述了处理这个棘手问题的可能方法。
我个人不得不重新安装 watchman - 测试再次 运行 顺利。
我 运行 遇到了同样的问题,升级 watchman
并没有为我解决这个问题。
阅读 Jest 的文档,您会发现有一个选项可以禁用 watchman
。所以我想 watchman
是没有必要的。
对我来说解决这个问题的方法是使用 npm install --save-dev jest@latest
.
将 Jest 升级到最新版本
你有安装watchman吗?我最近有一个同事把水泼到我的笔记本电脑上,所以在将项目等迁移到新笔记本电脑后,我遇到了类似的问题。经过一番摸不着头脑后,我意识到我只需要 运行 brew install watchman
,当然前提是你有自制软件。
我遇到了与上述类似的问题,看到评论后,我尝试通过 运行ning brew install watchman 安装 watchman,但它建议升级到最新版本,我也照做了。这解决了我的问题,我现在可以 运行 使用 npm test 开玩笑地测试了。谢谢大家
我试图为 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。
我该如何解决这个问题?
哦,经过数小时的努力,我将回答我的问题。
最好的解决办法是安装最新版本的 Watchman.
旧版Watchman导致fsevents
模块抛出异常
安装 watchman
后,您可以选择 运行 sudo chown -R $(whoami):staff ~/Library/LaunchAgents
授予权限。
对我来说这是一个权限问题,当你用自制软件安装 watchman 时说你应该尝试 brew postinstall watchman。
执行此操作时,您会注意到权限错误。
Error: Permission denied - /usr/local/var/run/watchman
sudo chown -R "$USER":admin /usr/local/var/run
然后解决权限问题
brew postinstall watchman
会起作用
This section of create-react-app's README 描述了处理这个棘手问题的可能方法。
我个人不得不重新安装 watchman - 测试再次 运行 顺利。
我 运行 遇到了同样的问题,升级 watchman
并没有为我解决这个问题。
阅读 Jest 的文档,您会发现有一个选项可以禁用 watchman
。所以我想 watchman
是没有必要的。
对我来说解决这个问题的方法是使用 npm install --save-dev jest@latest
.
你有安装watchman吗?我最近有一个同事把水泼到我的笔记本电脑上,所以在将项目等迁移到新笔记本电脑后,我遇到了类似的问题。经过一番摸不着头脑后,我意识到我只需要 运行 brew install watchman
,当然前提是你有自制软件。
我遇到了与上述类似的问题,看到评论后,我尝试通过 运行ning brew install watchman 安装 watchman,但它建议升级到最新版本,我也照做了。这解决了我的问题,我现在可以 运行 使用 npm test 开玩笑地测试了。谢谢大家