一个 Jest 工作进程被另一个进程终止。

19
我在构建我的应用程序时遇到了以下错误。
Test suite failed to run

  A jest worker process (pid=2439) was terminated by another process: signal=SIGKILL, exitCode=null. Operating system logs may contain more information on why this occurred.
    at ChildProcessWorker._onExit (node_modules/jest-worker/build/workers/ChildProcessWorker.js:366:23)

请问如何在Linux系统上检查操作系统日志以及如何解决此问题?


你能在你的帖子中添加细节吗?比如构建命令是什么,你在做什么等等。实际上,看起来你有另一个关闭自己的进程,你有检查其他进程吗? - Elikill58
2个回答

9
一个临时的解决方法是使用这两个参数运行jest,--runInBand --no-cache,以串行方式运行所有测试(较慢),并在每次运行时使用清洁缓存(同样较慢)。但至少测试可以运行。
顺便提一下,我正在使用NODE_OPTIONS=--experimental-vm-modules来与ts-jest一起使用ESM模块。不确定是否导致了不稳定性。

2
--runInBand解决了这个问题,不需要--no-cache,而且只有在需要使用ESM时才需要--experimental-vm-modules - Sh eldeeb

3

6
很遗憾,这对我们来说并没有解决问题。即使使用了Jest 29.6.1(修复已在29.6.0版本中发布),问题仍然存在。 - undefined
4
很遗憾,这对我们来说并没有解决问题。即使使用了Jest 29.6.1(修复已在29.6.0版本中发布),问题仍然存在。 - j0k
抱歉。我们通过增加一名额外的工人解决了这个问题。 - Lyuben Branzalov
抱歉。我们通过增加一名额外的工人解决了这个问题。 - undefined
这是在jest配置文件中的一个解决方法。https://jestjs.io/docs/configuration#maxworkers-number--string - Lyuben Branzalov
这是jest配置文件中的一个解决方法 https://jestjs.io/docs/configuration#maxworkers-number--string - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接