我试图运行我的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中。