npm - Windows 终端 - npm 没有响应
问题描述
当使用Git Bash 和 Windows Terminal的特定组合npm
时,什么都不做。例如,npm -v
,npm install
或任何其他以开头的命令npm
只会转到下一行而没有响应。
但是,当我在 Windows 10 PC 上的其他终端上运行npm -v
或通常运行时,它运行良好。npm
使用时,它在 Windows 终端中也可以正常工作:
- Git Bash 本身
- 电源外壳
- 命令
我已经尝试卸载并重新安装了很多次都无济于事,而且我不相信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"
}
解决方案
我在想 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 -i
到bash.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
看看这是否会改变任何东西。
推荐阅读
- android - Android - 将菜单项膨胀到操作栏中时出错
- c# - 加密和解密密码以登录
- android - Android - What is best way of handling http call in OnCreate which doesn't get called on screen rotation?
- java - Springboot Lombok 可嵌入主键日期
- c# - C# WPF 使用字符串访问文本框
- r - R error: all arguments must have the same length
- python - how to pass only one argument with click in python?
- go - 用 Golang 引用表达式的类型
- php - 从现在到时间 X 以 15 分钟间隔填充时间下拉列表
- javascript - 导入字符串值以传递给 JavaScript 中的 API 调用