windows - 在 Windows 上,如何阻止 npm 在新窗口中运行进程?
问题描述
当我npm
在我的 Windows 10 机器上运行命令时,新进程似乎在新窗口中产生。
在我(使用 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
但是 jest 的实际执行会在一个新创建的窗口中开始:
我在 VS Code 中使用“git bash”作为我的默认集成终端,但我可以使用 cmd.exe 和 VS Code 外部(即通过独立运行 git bash 或 cmd)来复制它。
我认为我的 npm 安装配置不正确,但我的谷歌搜索没有得到任何答案。
有谁知道我需要做什么才能使 npm 进程在同一个终端窗口中运行?
解决方案
如“如何在 windows 中为 npm run-scripts 设置 shell ”中所述,您可能希望在 npm 本身中配置 shell:
npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe"
这将避免默认设置,它可以触发一个新的 shell 窗口。
推荐阅读
- json - STRING_ESCAPE json 正斜杠
- html - 使 -1 在
- sapui5 - 如何在 SAPUI5 中加载模板文本文件?
- javascript - Javascript - Redux 操作不会连续运行
- swift - 如何使用 Rx-MVVM-C 处理带有可观察对象的导航
- python - Python3 - traceroute 的正则表达式编译
- c - 当窗口超过 8 列时,边框无法正确绘制
- python - 按第二列选择 sqlite3 行
- astropy - SIP兼容Python板解包
- flutter - 将颤振应用程序从 ios 移动到 Windows 时出现问题,反之亦然