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?

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top