VSCode Jest 扩展使用了错误版本的 Node

VSCode Jest 扩展使用了错误版本的 Node

我正在使用VSCode Jest 扩展

它提供的功能之一是在 IDE 中运行测试并提供内联错误消息。

在此处输入图片描述

这里给我的错误TypeError: this.children.flatMap is not a function是 Jest 测试在错误的节点运行时运行 -.flatMap包含在节点 >11 版本中。

当我从命令行运行 Jest 时,我也收到此错误,我通过.nvmrc向我的项目添加并使用 nvm 更改节点版本来修复此错误。

我如何告诉 Jest/VSCode 类似地改变它的 Node 运行时?

答案1

您可以在setting.json中添加下几行:

"jest.shell": "/bin/zsh",
"jest.jestCommandLine": "source ~/.zshrc && nvm use 14.15 && yarn test",

如果你使用 zsh,那么这个方法可行

答案2

此问题已在jest-community/vscode-jest#72。 按照此评论,目前最好的解决方案似乎是更新您的系统以.nvmrc默认使用您指定的 Node 版本:

nvm alias default $(cat .nvmrc)

显然这并不理想,因为它会影响整个系统,如果您有多个使用不同版本 Node 的项目,就会导致问题。

相关内容