SSH - ksh: git: non trouvé
Question
GIT fonctionne sur un serveur Solaris.
À partir d'une machine Windows, j'ai installé cygwin pour tenter de cloner un référentiel hébergé sur le serveur.
Je fais ce qui suit:
$ git clone username@server:project.git ksh: git-upload-pack: not found
Alors j'essaie
$ ssh username@server echo \$PATH /usr/bin
Il semble que git ne se trouve 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 de travers?
La solution
~ / .bashrc
est lu par des shells autres que ceux qui se connectent, mais uniquement par bash , et votre serveur utilise ksh .
~ / .profile
est (je pense) un fichier d'initialisation universel, mais il est lu uniquement par les coquilles de connexion .
~ / .kshrc
est un fichier de démarrage typique lu par ksh, mais uniquement si la ENV variable d'environnement est définie sur cette variable (mais voir SendEnv dans la page de manuel ssh_config).
Vous pouvez également toujours transmettre l'option - upload-pack = / usr / local / bin / git-upload-pack
à "git clone". (puis définissez la variable de configuration remote.origin.uploadpack
) si vous ne pouvez pas définir PATH sur remote. Et bien sûr, remote.origin.receivepack
s'il ne trouve pas git-receive-pack.
Autres conseils
On dirait que votre shell sur la machine Solaris est ksh et non bash, c'est pourquoi votre fichier .bashrc n'est pas en cours de lecture. Essayez de mettre le changement dans .profile
Je devais ajouter / usr / local / bin sur mon chemin dans .profile pour que celui-ci soit récupéré sur solaris (et que git upload-pack fonctionne). J'ai toujours pensé que c'étaient mes boîtes mal configurées, mais peut-être pas aussi ...