SSH - ksh: git: non trovato
Domanda
Ho GIT in esecuzione su un server Solaris.
Da un computer Windows ho installato Cygwin per provare a clonare un repository ospitato sul server.
Faccio quanto segue:
$ git clone username@server:project.git ksh: git-upload-pack: not found
Quindi provo
$ ssh username@server echo \$PATH /usr/bin
Sembra che git non sia in / usr / bin / ma in / usr / local / bin /. Ho provato a cambiare il PERCORSO in .bashrc nella mia home directory sul server per aggiungere / usr / local / bin / ... ma non sembra funzionare.
Cosa sto sbagliando?
Soluzione
~ / .bashrc
viene letto da shell non di accesso, ma solo da bash e il tuo server utilizza ksh .
~ / .profile
è (penso) un file di inizializzazione universale, ma viene letto solo dalle shell di login .
~ / .kshrc
è il tipico file di avvio letto da ksh, ma solo se ENV è impostata su questa variabile ambientale (ma vedi SendEnv nella manpage ssh_config).
Inoltre puoi sempre passare l'opzione --upload-pack = / usr / local / bin / git-upload-pack
a " git clone " (e quindi impostare la variabile di configurazione remote.origin.uploadpack
) se non è possibile impostare PATH sul telecomando. E ovviamente remote.origin.receivepack
se non riesce a trovare git-receive-pack.
Altri suggerimenti
Sembra che la shell sulla macchina Solaris sia ksh e non bash, motivo per cui il tuo .bashrc non viene letto. Prova a inserire la modifica in .profile
Ho dovuto aggiungere / usr / local / bin al mio percorso in .profile per essere raccolto su Solaris (e far funzionare git upload-pack). Ho sempre pensato che fossero le mie scatole a essere configurate male, ma forse non così ...