Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用Jest测试失败,错误为:监视文件更改时出错:EMFILE_Node.js_Reactjs_Ecmascript 6_Jestjs - Fatal编程技术网

Node.js 使用Jest测试失败,错误为:监视文件更改时出错:EMFILE

Node.js 使用Jest测试失败,错误为:监视文件更改时出错:EMFILE,node.js,reactjs,ecmascript-6,jestjs,Node.js,Reactjs,Ecmascript 6,Jestjs,我试图为React.js应用程序编写一个测试。 一切都很顺利,但在使用Git跟踪目录之后(使用它进行Git回购)。 测试失败,错误如下 2017-01-15 05:05节点[1278](FSEvents.framework)FSEventStreamStart:register_with_server:ERROR:f2d_register_rpc()=>(null)(-22) 2017-01-15 05:05节点[1278](FSEvents.framework)FSEventStreamSt

我试图为React.js应用程序编写一个测试。 一切都很顺利,但在使用Git跟踪目录之后(使用它进行Git回购)。 测试失败,错误如下

2017-01-15 05:05节点[1278](FSEvents.framework)FSEventStreamStart:register_with_server:ERROR:f2d_register_rpc()=>(null)(-22)
2017-01-15 05:05节点[1278](FSEvents.framework)FSEventStreamStart:register_with_server:ERROR:f2d_register_rpc()=>(null)(-22)
events.js:160
投掷者;//未处理的“错误”事件
^
错误:查看文件更改时出错:EMFILE
在导出时。\u errnoException(util.js:1022:11)

在FSEvent.FSWatcher.\u handle.onchange(fs.js:1406:11)
噢,经过几个小时的努力,我将回答我的问题。
最好的解决方案是安装的最新版本。
旧版本的Watchman导致
fsevents
模块引发异常


安装
watchman
后,您可以选择运行
sudo chown-R$(whoami):staff~/Library/LaunchAgents
来授予权限。

对于我来说,这是一个权限问题,当您使用自制软件安装watchman时,据说您应该尝试brew postinstall watchman。 执行此操作时,您将注意到权限错误。

错误:权限被拒绝-/usr/local/var/run/watchman
sudo chown-R“$USER”:admin/usr/local/var/run

届时将解决许可问题

brew postinstall watchman 
will work

描述了处理这一棘手问题的可能方法


我个人不得不重新安装watchman-测试再次顺利运行我遇到了同样的问题,升级
watchman
没有为我解决这个问题。 阅读Jest的文档,您会发现有一个选项可以使用
watchman
禁用。所以我想没有必要叫守望者


对我来说,解决这个问题的方法是使用
npm安装--save dev将Jest升级到最新版本jest@latest

您是否安装了watchman?我最近有一位同事在我的笔记本电脑里泼水,所以在将项目等迁移到一台新笔记本电脑后,我遇到了类似的问题。我挠头后意识到我只需要运行
brew install watchman
,假设您当然有自制软件。

我遇到了与上述类似的问题,在看到评论后,我尝试通过运行brew install watchman来安装watchman,但它建议升级到最新版本,我也这样做了。这解决了我的问题,我现在可以使用npm测试开玩笑地运行我的测试了。谢谢大家

我尝试将ulimit设置为一个大数字,但没有效果。请查看stackoverflow.com/a/33656154/893780对我不起作用。我认为应该有一个明确的解决方案,使其不监视“.git”目录。请查看:DHi,我们遇到了同样的问题,但watchman修复方案不起作用。。。介意看一下吗?它也没有解决我的问题。这是不是意味着可以独立于以前的答案?或者更多的只是一个“谢谢”的评论(应该作为评论,而不是回答)请不要添加“谢谢”作为回答。它们实际上并没有提供问题的答案,未来的游客可能会认为它们是噪音。相反,你喜欢。这样,问题的未来访问者将看到该答案的更高票数,回答者也将获得声誉积分。看见