bower ENOINT Register requires an interactive shell
Additional error details: Note that you can manually force an
interactive shell with –config.interactive
Issue 802确实提供了一个很好的解释:
I’ve tracked this down to an issue with 07001.
In the
bower/lib/config.js
file (line 34 for bower v 1.4.1),tty.isatty(1)
returns false undermintty.exe
,but true if you runcygwin.bat
(which isbash --login -i
using the Windows terminal).Here’s a convenient way to check your terminal:
node -e "var tty=require('tty'); console.log('tty.isatty(1):' + tty.isatty(1))"
可能相关:mintty – issue #56 “Improve support for native console programs”.
For those stumbling across this issue looking for a solution,the obvIoUs quick workaround for this issue is to simply avoid using mintty.
This doesn’t mean you have to return to using the Windows terminal for bash,as there are other alternatives:
- See 07003 and/or 07004 for instructions for configuring Console2 with bash.
- Turn off the menus,tool bars,and status bars,
- create a shortcut named “
Cygwin
” or “Bash
“,change the shortcut’s icon toC:\cygwin64\Cygwin-Terminal.ico
and you’ll probably never know the difference.P.S. If you’ve ever noted other issues with
mintty.exe
,like msysgit not prompting for a password properly or the node repl not working,this is probably the same issue.
解决方法:
- do this from the run command
cmd.exe /C "C:\Program Files\Git\bin\bash.exe" --login -i
then
bower init
will work and you can do everything in minw64,mintty,or git-bash whatever it is called.
要么
If you are using windows run bower init using CMD
要么
if you are using git bash follow these steps:
- Uninstall existing GIT bash
- Reinstall GIT bash
- Set up during installation:
- 3a: Select> Use Git form the Windows Command Prompt
- 3b: Select> Checkout Windows-style,commit Unix-style line endings
- 3c: Select> Use Windows’ default console window