Node.js 使用Jest测试失败,错误为:监视文件更改时出错:EMFILE
我试图为React.js应用程序编写一个测试。 一切都很顺利,但在使用Git跟踪目录之后(使用它进行Git回购)。 测试失败,错误如下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
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修复方案不起作用。。。介意看一下吗?它也没有解决我的问题。这是不是意味着可以独立于以前的答案?或者更多的只是一个“谢谢”的评论(应该作为评论,而不是回答)请不要添加“谢谢”作为回答。它们实际上并没有提供问题的答案,未来的游客可能会认为它们是噪音。相反,你喜欢。这样,问题的未来访问者将看到该答案的更高票数,回答者也将获得声誉积分。看见