2009-10-21 27 views
4

我有一臺運行在Solaris服務器上的GIT。SSH - ksh:git:未找到

從Windows機器上,我安裝了cygwin,試圖克隆託管在服務器上的存儲庫。

我做到以下幾點:

 
$ git clone [email protected]:project.git 
ksh: git-upload-pack: not found 

所以我嘗試

 
$ ssh [email protected] echo \$PATH 
/usr/bin 

好像Git是不是在/ usr/bin中/但在/ usr/local/bin目錄/。 我試圖在服務器上的主目錄中更改.bashrc中的PATH以添加/ usr/local/bin/...但它似乎不起作用。

我在做什麼錯?

+0

echo $ PATH顯示什麼? – Mark 2009-10-21 21:24:40

+0

它顯示:/ usr/bin – ddallala 2009-10-22 14:42:55

回答

9

~/.bashrc是由非登錄shell讀,但只有通過慶典,和您的服務器使用KSH
~/.profile是(我認爲)通用初始化文件,但它只能通過登錄shell被讀取
~/.kshrc是通過ksh讀取的典型啓動文件,但前提是環境變量設置爲ENV(但請參閱ssh_config聯機幫助頁中的SendEnv)。


您也可以總是傳遞--upload-pack=/usr/local/bin/git-upload-pack選項「混帳克隆」(然後設置remote.origin.uploadpack配置變量),如果您不能設置路徑上的遙控器。如果它找不到git-receive-pack,當然還有remote.origin.receivepack

+0

我無法使用.profile來設置PATH,所以我嘗試了你的方法,它完美地工作。小修改,不得不這樣做:git config remote.origin.receivepack/usr/local/bin/git-receive-pack – ddallala 2009-10-22 05:04:12

+0

Thx幫助Jakub。對不起,我不小心刪除了我的投票,它告訴我「投票太老,無法更改,除非編輯了這個答案」 – ddallala 2009-10-22 14:42:24

0

我不得不將/ usr/local/bin添加到我在.profile中的路徑中,以便在solaris上找到它(並讓git upload-pack正常工作)。我一直認爲這是我的盒子配置錯誤,但可能不是這樣...

+0

同意,剛纔發現 - .bashrc很可能不是由非交互式git登錄來源。 – Cascabel 2009-10-21 21:27:04

4

聽起來像你的Solaris機器上的shell是ksh而不是bash,這就是爲什麼你的.bashrc沒有被讀取。嘗試把變化的.profile