SSH - ksh: git: не найден - PullRequest
       13

SSH - ksh: git: не найден

4 голосов
/ 22 октября 2009

У меня запущен GIT на сервере Solaris.

На компьютере с Windows я установил cygwin, чтобы попытаться клонировать репозиторий, размещенный на сервере.

Я делаю следующее:

$ git clone username@server:project.git
ksh: git-upload-pack: not found

Так что я стараюсь

$ ssh username@server echo \$PATH
/usr/bin

Похоже, что git находится не в / usr / bin /, а в / usr / local / bin /. Я попытался изменить PATH в .bashrc в моем домашнем каталоге на сервере, добавив / usr / local / bin / ..., но, похоже, он не работает.

Что я делаю не так?

Ответы [ 3 ]

9 голосов
/ 22 октября 2009

~/.bashrc читается не входящими в систему оболочками, но только bash , и ваш сервер использует ksh .
~/.profile - это (я думаю) универсальный файл инициализации, но он читается только с помощью логинов .
~/.kshrc - это типичный файл запуска, читаемый ksh, но только если для него установлена ​​переменная окружения ENV (но см. SendEnv на странице ssh_config man).


Также вы всегда можете передать опцию --upload-pack=/usr/local/bin/git-upload-pack в «git clone» (а затем установить переменную конфигурации remote.origin.uploadpack), если вы не можете установить PATH на удаленном компьютере. И, конечно, remote.origin.receivepack, если он не может найти git-receive-pack.

4 голосов
/ 22 октября 2009

Похоже, что ваша оболочка на машине Solaris - ksh, а не bash, поэтому ваш .bashrc не читается. Попробуйте внести изменения в .profile

0 голосов
/ 22 октября 2009

Мне пришлось добавить / usr / local / bin к моему пути в .profile, чтобы его можно было забрать на солярисе (и заставить работать git upload-pack). Я всегда думал, что это были мои коробки, которые были плохо настроены, но, возможно, не так ...

...