节点命令在 Windows 上的 git bash 终端中不起作用
Posted
技术标签:
【中文标题】节点命令在 Windows 上的 git bash 终端中不起作用【英文标题】:Node command not working in git bash terminal on windows 【发布时间】:2017-01-12 08:43:06 【问题描述】:我正在尝试在我的 git bash 终端中运行 node
命令。当我运行node
命令时,当我按下回车键时没有任何反应。 $
消失了,它只是在没有>
的下一行留下一个闪烁的光标。
My-PC MINGW32 /
$ node -v
v4.5.0
My-PC MINGW32 /
$ where node
C:\Program Files\nodejs\node.exe
My-PC MINGW32 /
$ node
_
谁能告诉我可能是什么问题?
谢谢!!
【问题讨论】:
当你输入node时,它通常会等待你输入javascript代码。你试过了吗? 您看到的是REPL。这是预期的行为。如果您在命令行上传递node
一个文件或目录,它将运行它;否则,您将获得 REPL。
@LuizFernandodaSilva 是的,我运行了一个简单的console.log('hello');
,但它什么也没返回。
@cartant 感谢您的信息!
注意在 Windows 上同时安装 ruby 和 MSYS2。
【参考方案1】:
如果您在输入“node”后没有得到带有>
的新行 - 这可能是因为较新版本的 Git Bash 没有在他们过去的 TTY 模式下运行。 Discussion here。您可以通过输入来验证:
node -p -e "Boolean(process.stdout.isTTY)"
如果返回 false - 那么 Node REPL(和其他一些控制台工具)将无法正常工作。
有几种解决方法:
解决方法 A
winpty node
或者您可以在 .bash_profile 中添加别名:
alias node="winpty node"
# and for npm CLI/scripts:
alias npm="winpty npm.cmd"
解决方法 B
使用以下目标创建一个新的 Git Bash 快捷方式:
"C:\Program Files\Git\git-cmd.exe" --no-cd --command=usr/bin/bash.exe -l -i
并使用它而不是默认的 Git Bash。
【讨论】:
哦,你不知道你让我有多开心! 变通方法 B 是如何工作的?这些选项有什么作用?我在网上找不到任何关于这些的手册 解决方法 B 在 CMD 模式下运行 Git-bash,使用 Windows 附带的 CMD 终端。我在 git-bash 中运行节点程序时遇到了问题,直到我在 git-cmd 终端中运行它们。我随后卸载了 git 并重新安装它,指定默认使用 cmd 终端而不是 msys2。然后我将 git-bash 终端包装在 ConEmu 中以获取选项卡等:conemu.github.io/en/GitForWindows.html 据我所知,这是两全其美的。我在 1809,所以我还没有尝试过新的 Windows 终端。 另外,对于命令标志的完整列表,试试这个:/c/program\ files/git/bin/bash -c "help set"以上是关于节点命令在 Windows 上的 git bash 终端中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Windows 上的 Git Bash 中安装 pylint(Windows 应用商店)
Windows 上的 Git 克隆:git@github.com 不是 git 命令