当我在GitBash中运行bower init时,会显示以下错误:
注册需要交互式 shell。
附加错误详情:请注意,您可以使用 --config.interactive 手动强制使用交互式 shell。
附加错误详情:请注意,您可以使用 --config.interactive 手动强制使用交互式 shell。
mintty.exe
Issue 802提供了一个很好的解释:
我已经追踪到这个问题是由于
mintty.exe
引起的。在
bower/lib/config.js
文件中(对于bower v 1.4.1,第34行),tty.isatty(1)
在mintty.exe
下返回false,但如果你运行cygwin.bat
(这是使用Windows终端的bash --login -i
),则返回true。以下是一种方便的检查终端的方法:
node -e "var tty=require('tty'); console.log('tty.isatty(1):' + tty.isatty(1))"
Cygwin
”或“Bash
”的快捷方式,将快捷方式的图标更改为C:\cygwin64\Cygwin-Terminal.ico
,您可能永远都不会知道区别。mintty.exe
的其他问题,例如msysgit不能正确提示密码或节点repl不起作用,则可能是相同的问题。 cmd.exe /C "C:\Program Files\Git\bin\bash.exe" --login -i
你不必卸载/重新安装,可以使用Win CMD。你可以执行bower init然后切换回MinW64。找到一个解决方法...像这样启动git-bash,使用运行命令,稍后可以更改快捷方式。
cmd.exe /C "C:\Program Files\Git\bin\bash.exe" --login -i
在另一个终端,如 Node.js
命令提示符、Windows 的 cmd
或其他命令提示符中运行该命令。