WebStorm摩卡testing'sh'不被识别为内部或外部命令

我试图运行我的node.js代码运行下面一行摩卡testing:

exec(`sh ${scriptFile}`); 

当我使用npm test从命令行(Git Bash)运行它时,它会通过。 但是,当我从WebStorm运行它,我得到以下错误:

 'sh' is not recognized as an internal or external command, operable program or batch file. 

我觉得我可能错过了一些WebStorm的设置,但我无法弄清楚它是什么。 有任何想法吗?

PS我在Windows上。

Git Bash实现了一个模拟bash的* nix-esque shell,可以解析你的命令。 Webstorm似乎试图在不支持sh语法的powershell或cmd中执行您的命令。

打开“设置”/“首选项”对话框的“终端”页面,然后按如下方式配置Shell路径字段:

"[path to the git installation]\bin\sh.exe" -login -i

这可能是"C:\Program Files\Git\bin\sh.exe" -login -i

资料来源: https : //www.jetbrains.com/help/webstorm/2017.1/working-with-embedded-local-terminal.html

对于那些在Windows上使用phpStorm并由Google来到这里的人

在你的机器上安装Git。 转到Settings/Terminal ,并将shell path设置为C:\Program Files\Git\bin\sh.exe

还要将C:\Program Files\Git\bin到环境变量中的PATH中。