288 Error:使用Jest执行测试时编写EPIPE

1cosmwyk  于 2023-05-11  发布在  Jest
关注(0)|答案(4)|浏览(163)

我在将React Testing Library设置为新项目时遇到了一个问题,该项目是为多个项目生成通用UI组件的项目。在其中一个项目中,它是正确设置的,但是当我在这个项目中添加React测试库并更新依赖项时,我能够运行测试,但不是所有的测试。
如果我执行yarn test,结果是:

Test Suites: 8 passed, 8 of 33 total
Tests:       84 passed, 84 total
Snapshots:   0 total
Time:        28 sevents.js:288
      throw er; // Unhandled 'error' event
      ^

Error: write EPIPE
    at ChildProcess.target._send (internal/child_process.js:806:20)
    at ChildProcess.target.send (internal/child_process.js:677:19)
    at ChildProcessWorker.send (C:\Users\user\workspace\project\node_modules\jest-worker\build\workers\ChildProcessWorker.js:291:17)
    at WorkerPool.send (C:\Users\user\workspace\project\node_modules\jest-worker\build\WorkerPool.js:32:34)
    at Farm._process (C:\Users\user\workspace\project\node_modules\jest-worker\build\Farm.js:129:10)
    at Farm._enqueue (C:\Users\user\workspace\project\node_modules\jest-worker\build\Farm.js:152:10)
    at Farm._push (C:\Users\user\workspace\project\node_modules\jest-worker\build\Farm.js:159:12)
    at C:\Users\user\workspace\project\node_modules\jest-worker\build\Farm.js:90:14
    at new Promise (<anonymous>)
    at Farm.doWork (C:\Users\user\workspace\project\node_modules\jest-worker\build\Farm.js:56:12)
Emitted 'error' event on ChildProcess instance at:
    at internal/child_process.js:810:39
    at processTicksAndRejections (internal/process/task_queues.js:79:11) {
  errno: 'EPIPE',
  code: 'EPIPE',
  syscall: 'write'
}
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

我试着做rm -rf node_modules,然后清理缓存,没有工作。
有什么帮助吗?

vfwfrxfs

vfwfrxfs1#

事实证明,通过更改package.json中的一些库,错误消失了:
之前(KO):

"babel-jest": "^24.9.0",
"jest": "^26.0.1",

之后(OK):

"babel-jest": "^26.0.1",
"jest": "^25.5.4",
ohfgkhjo

ohfgkhjo2#

通过做yarn cache clean解决了我的问题。如果你遇到管道错误类似下图。我认为这与内存泄漏有关。

3yhwsihp

3yhwsihp3#

在我的情况下是节点的版本。我有版本15(来自Latest Features),并将其更改为稳定版本14.17.3(来自LTS)。
要知道您使用的是哪个版本,请在终端中使用node -v。

thtygnil

thtygnil4#

我在使用react 18、Nodejs 18和react script 4.x时也遇到了同样的问题。
我刚把react script从4.x升级到5.x
它起作用了

相关问题