安装cygwin后Git Bash破碎

Windows机器上安装Cygwin后,Git Bash被破坏。 每次尝试执行命令时都会发生以下错误:

sh.exe“:找不到tput:命令

甚至重新安装Git(Bash)没有帮助…

也许你需要运行cygwin安装程序并查找“ncurses”包并安装它

(正如在这个线程中所建议的,考虑到tput是ncurses库的一部分 )

another.anon.coward在评论中建议使用Cygwin站点的package-grep功能,这确认了需要安装ncurses:

package-grep for tput 。


然而, OP Philipp15b在评论中提到:

这就是问题:我们正在讨论Windows的Git(msysgit) ,正如你所说,这与Cygwin没有任何关系。 但由于某些原因安装Cygwin打破了Git。

尝试使用git-cmd.bat提供的git-cmd.bat启动您的msysgit DOS会话。
它组织的PATH

 @set PATH=%git_install_root%\bin;%git_install_root%\mingw\bin;%git_install_root%\cmd;%PATH% 

这可能有助于确保msysgit不受其他可能在路径中的Cygwin命令的影响。

这个问题现在已经解决了。 我的文档( ~\.bashrc )中有一个奇怪的.bashrc,通过在tput命令的帮助下使用颜色将$PS1设置$PS1一个新的值。 Git Bash中并不存在,它不应该在那里。

在注释掉$PS1设置/导出的行后,所有行都恢复正常了。

这条线是类似的

 export PS1="$(tput ... 

(我没记错。)

我不知道它来自哪里,也许我不小心将它复制在那里为cygwin …