首页 > 解决方案 > Windows 终端 - npm 没有响应

问题描述

当使用Git Bash 和 Windows Terminal的特定组合npm时,什么都不做。例如,npm -v,npm install或任何其他以开头的命令npm只会转到下一行而没有响应。

但是,当我在 Windows 10 PC 上的其他终端上运行npm -v或通常运行时,它运行良好。npm

使用时,它在 Windows 终端中也可以正常工作:

我已经尝试卸载并重新安装了很多次都无济于事,而且我不相信npm自己安装不正确,因为它可以在命令提示符下正常工作。

编辑:Git Bash 的 Windows 终端设置:

{
 "guid": "{ed985d27-ac7c-477b-a3fc-1f59152f5199}",
 "commandline": "C:\\Program Files\\Git\\usr\\bin\\bash.exe",
 "cursorShape": "filledBox",
 "icon": "C:\\Program Files\\Git\\mingw64\\share\\git\\git-for-windows.ico",
 "name": "Git Bash",
 "startingDirectory": "%USERPROFILE%",
 "tabTitle": "Git Bash"
}

标签: npmgit-bashwindows-terminal

解决方案


我在想 Windows 终端可能正在运行 Git Bash,而没有获取您的启动配置的一部分,例如~/.bashrc或 ~/.bash_profile`。Git Bash 与“常规 Bash”相比,对于这些应该如何获取的想法似乎略有不同,而且我对普通的 Linux 版本更加熟悉。

您提到“重新安装了很多次”,但我的假设是您的意思是 Windows 终端。

我只有大约 25% 的信心相信这会解决它,但我希望您尝试Git Bash在 Windows 终端中删除您的配置文件,下载最新的 Git Bash,然后重新安装。

这样做的原因是最新的 Git Bash 包含一个用于 Windows 终端的 JSON 片段扩展,它将自动创建一个配置文件。从您当前的个人资料来看,我不相信它是由 Git Bash 创建的。新安装的应该强制 shell 作为登录、交互式 shell ( -l -i) 启动,以确保所有必要的文件都已获取。

您也可以尝试仅编辑配置文件以添加-l -ibash.exe

{
 "guid": "{ed985d27-ac7c-477b-a3fc-1f59152f5199}",
 "commandline": "C:\\Program Files\\Git\\usr\\bin\\bash.exe -l -i",
 "cursorShape": "filledBox",
 "icon": "C:\\Program Files\\Git\\mingw64\\share\\git\\git-for-windows.ico",
 "name": "Git Bash",
 "startingDirectory": "%USERPROFILE%",
 "tabTitle": "Git Bash"
}

但我只是尝试重新安装最新的 Git Bash,它应该会自动设置它。

如果这没有改变任何东西,可以尝试一些额外的事情:

  • which npm在有和没有 Windows 终端的情况下在 Git Bash 中运行。结果是相同的还是不同的?

  • 尝试在 Windows 终端中启动 PowerShell,然后手动运行C:\Program Files\Git\usr\bin\bash.exe. npm行得通吗?如果没有,请尝试C:\Program Files\Git\usr\bin\bash.exe -l -i看看这是否会改变任何东西。


推荐阅读