在Windows上,如何阻止npm在新窗口中运行进程?

时间:2018-11-27 22:32:45

标签: windows bash npm terminal git-bash

当我在Windows 10计算机上运行npm命令时,似乎在新窗口中产生了新进程。

在使用Mac的同事计算机上,我看到这些命令在调用它们的同一终端窗口中运行。这是我所期望的行为,并且更加有用-例如,要在两秒钟之间完成测试并关闭终端窗口的情况下,很难看到我的测试结果!

例如,我们的packages.json具有运行jest的脚本:

scripts": {
    "test": "jest"
}

当我运行npm run test时,会将以下内容写入当前终端:

$ npm run test

> @headuplabs/mobile@0.0.1 test C:\Users\TomWright\Documents\Repos\HeadUp.Mobile
> jest

然后在一个新创建的窗口中开始玩笑的实际执行:

Really exciting screenshot...

我将“ git bash”用作我在VS Code中的默认集成终端,但是我可以使用cmd.exe和VS Code外部(例如,通过独立运行git bash或cmd)复制它。

我认为我的npm安装配置不正确,但是我的Google搜索没有任何答案。

有人知道我需要做些什么才能使npm进程在同一终端窗口中运行吗?

1 个答案:

答案 0 :(得分:0)

如“ how to set shell for npm run-scripts in windows”所述,您可能需要在npm本身中配置shell:

npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe"

这将避免使用默认设置,因为默认设置会触发新的外壳窗口。