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?

¿Fue útil?

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 ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top