Jest 无法找到yarn等命令的解决方案
Jest 无法找到 yarn 等命令的解决方案
如果你不是从你的主要终端环境开启的 vscode,可能就会遇到这种 xxx: command not found 的错误:
/bin/bash: line 1: yarn: command not found
这是由于 vscode-jest 插件执行 command 时使用的是当前 process.env 的环境:
the env and ENOENT issues have come up quite a bit, let’s see if we can nail them:
vscode-jestspawn a child_process to run jest (or customjest.pathToJest) on user’s behave. The spawned process’s env is based on process.env.You can see it might not use your favor shell’s env but the one specified in environ(7). You can try
man environto see how you can view and > customize the env on your platform. Let me know how it goes.
这导致它的执行环境与你默认的终端环境不同,那么解决问题的方案就是解决它的终端环境的解析问题,这可以通过 jest.jestCommandLine 配置实现,参考链接:
配置你的 .vscode/settings.json 文件
{
"jest.jestCommandLine": "source ~/.zshrc && yarn test"
}
命令 jest.jestCommandLine 的介绍:
This should be the command users used to kick off the jest tests in the terminal. However, since the extension will append additional options at run time, please make sure the command line can pass along these options, which usually just means if you uses npm, add an additional “–” at the end (e.g. “npm run test –") if you haven’t already in your script. It is recommended not to add the following options as they are managed by the extension: –watch, –watchAll, –coverage
Siykt的博客