2009-10-21 14 views
4

Je fais fonctionner GIT sur un serveur Solaris. Depuis une machine Windows, j'ai installé cygwin pour essayer de cloner un dépôt hébergé sur le serveur.SSH - ksh: git: non trouvé

Je fais ce qui suit:

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

J'essaie

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

Il semble que git est pas dans/usr/bin/mais dans/usr/local/bin /. J'ai essayé de changer le PATH dans .bashrc sur mon répertoire personnel sur le serveur pour ajouter/usr/local/bin/... mais cela ne semble pas fonctionner.

Qu'est-ce que je fais mal?

+0

qu'est-ce que echo $ PATH show? – Mark

+0

il montre:/usr/bin – ddallala

Répondre

9

~/.bashrc est lu par des obus non-connexion, mais seulement par bash, et votre serveur utilise ksh.
~/.profile est (je pense) le fichier d'initialisation universel, mais il est lu seulement par les shells de connexion.
~/.kshrc est un fichier de démarrage typique lu par ksh, mais seulement si la variable d'environnement ENV lui est définie (mais voir SendEnv dans la page de manuel ssh_config).


Aussi, vous pouvez toujours passer --upload-pack=/usr/local/bin/git-upload-pack option "clone git" (puis définissez remote.origin.uploadpack variable de configuration) si vous ne pouvez pas définir PATH sur la télécommande. Et bien sûr remote.origin.receivepack s'il ne peut pas trouver git-receive-pack.

+0

Je n'ai pas pu définir le PATH en utilisant .profile, j'ai donc essayé votre méthode et cela a fonctionné parfaitement. Petite modification, a dû faire: git config remote.origin.receivepack/usr/local/bin/git-recevoir-pack – ddallala

+0

Thx pour l'aide Jakub. Désolé, j'ai accidentellement enlevé mon vote et il me dit 'Votez trop vieux pour être changé, à moins que cette réponse soit éditée' – ddallala

0

J'ai dû ajouter/usr/local/bin à mon chemin dans .profile pour qu'il soit récupéré sur solaris (et que git upload-pack fonctionne). J'ai toujours pensé que c'était mes boîtes qui étaient mal configurées, mais peut-être pas ...

+0

D'accord, juste attrapé que - le .bashrc n'est probablement pas provenu par le login git non-interactif. – Cascabel

4

Les sons de votre shell sur la machine Solaris sont ksh et non bash, c'est pourquoi votre .bashrc n'est pas lu. Essayez de mettre le changement dans .profile