SSH - ksh: git: no encontrado
Pregunta
Tengo GIT ejecutándose en un servidor Solaris.
Desde una máquina con Windows instalé cygwin para intentar clonar un repositorio alojado en el servidor.
Hago lo siguiente:
$ git clone username@server:project.git ksh: git-upload-pack: not found
Así que trato
$ ssh username@server echo \$PATH /usr/bin
Parece que git no está en / usr / bin / sino en / usr / local / bin /. Intenté cambiar el PATH en .bashrc en mi directorio de inicio en el servidor para agregar / usr / local / bin / ... pero no parece funcionar.
¿Qué estoy haciendo mal?
Solución
~ / .bashrc
se lee con shells que no son de inicio de sesión, pero solo con bash , y su servidor utiliza ksh .
~ / .profile
es (creo) un archivo de inicialización universal, pero se lee solo mediante shells de inicio de sesión .
~ / .kshrc
es un archivo de inicio típico leído por ksh, pero solo si la variable de entorno ENV está configurada (pero consulte SendEnv en la página de manual de ssh_config).
También puede pasar la opción --upload-pack = / usr / local / bin / git-upload-pack
a " git clone " (y luego establezca la variable de configuración remote.origin.uploadpack
) si no puede establecer PATH en remoto. Y, por supuesto, remote.origin.receivepack
si no puede encontrar git-recibir-paquete.
Otros consejos
Parece que su shell en la máquina Solaris es ksh y no bash, por lo que no se está leyendo su .bashrc. Intente poner el cambio en .profile
Tuve que agregar / usr / local / bin a mi ruta en .profile para que se recoja en solaris (y hacer que git upload-pack funcione). Siempre pensé que mis cajas estaban mal configuradas, pero tal vez no ...