2012-02-24 57 views
4

在我的Windows機器上安裝Cygwin後,Git Bash被破壞。每次我試圖執行一個命令,出現以下錯誤:安裝Cygwin後Git Bash破裂

sh.exe「:tput的:沒有找到命令

即使重新安裝的Git(擊)沒有幫助...

+0

由於錯誤提示您的cygwin設置中缺少'tput'命令。看看你是否安裝了所需的軟件包。 [此鏈接](http://cygwin.com/cgi-bin2/package-grep.cgi?grep=tput.exe)可能會幫助您瞭解需要哪些軟件包 – 2012-02-24 09:10:30

+0

Cygwin和Git Bash(nèemsysgit)應該是獨立的。你試圖調用什麼命令,從哪裏來? – ak2 2012-02-24 09:56:02

+0

基本上,它顯示正確_before_新命令的輸入...並且我已經安裝了tput ... @ ak2我也這麼認爲。但是,正如你看到的... – Scott 2012-02-24 13:04:04

回答

2

現在解決了這個問題。我的文檔中有一個奇怪的.bashrc(~\.bashrc),它通過在tput命令的幫助下使用顏色將$PS1設置爲新值。這在Git Bash中不存在,它不應該在那裏。

在註釋掉設置/導出$PS1的行後,所有行都恢復正常。

線被類似

export PS1="$(tput ... 

(我不記錯的話)。

我不知道它是從哪裏來的,也許是我不小心在那裏複製它的cygwin ...

+0

你可以添加一些細節,比如你評論的是什麼? – VonC 2012-03-15 17:00:49

+0

我現在編輯了我的答案。 – Scott 2012-03-15 21:33:20

+0

謝謝你,並+1這個反饋。 – VonC 2012-03-15 21:45:45

3

也許你需要運行Cygwin的安裝,並查找「的ncurses」包並安裝它

(如this thread建議,並考慮tput is part of the ncurses library

another.anon.coward表明在註釋使用Cygwin的網站,這證實了ncurses的安裝需要的包grep的功能:

package-grep for tput


然而,OP Philipp15b提到的評論:

這就是這個問題:我們正在談論Git for Windows (msysgit)和你說,它已得到無關Cygwin的。但由於某種原因安裝Cygwin打破了Git。

嘗試提供msysgit的git-cmd.bat啓動您msysgit DOS會話。
它組織的PATH

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

它可以幫助確保msysgit不受其他Cygwin的命令,這可能是在路徑。

+0

現在, :我已經安裝了它...但由於某種原因,似乎從git安裝cygwin _removed_ tput ... – Scott 2012-02-24 13:04:47

+0

@ Philipp15b:只是可以肯定,你說的是在cygwin下的git,對嗎?不是msysgit(https ://github.com/msysgit/msysgit,它是「Git for Windows」,並且根本不需要Cygwin) – VonC 2012-02-24 13:35:05

+0

@ Philipp15b:'cygwin removed tput'..你確定嗎?你知道什麼目錄tput你的目光在那裏?你的PATH是否仍然包含該目錄(在CyGwin安裝之後)?祝你好運。 – shellter 2012-02-24 14:07:32