質問

SolarisサーバーでGITを実行しています。

Windowsマシンからcygwinをインストールして、サーバーでホストされているリポジトリのクローンを作成しようとしました。

次のことを行います:

$ git clone username@server:project.git
ksh: git-upload-pack: not found

だからやってみます

$ ssh username@server echo \$PATH
/usr/bin

gitは/ usr / bin /ではなく/ usr / local / bin /にあるようです。 / usr / local / bin /を追加するために、サーバー上のホームディレクトリにある.bashrcのPATHを変更しようとしましたが、機能しないようです。

何が間違っているのですか?

役に立ちましたか?

解決

〜/ .bashrc は、非ログインシェルによって読み取られますが、 bash によってのみ読み取られ、サーバーは ksh を使用します。
〜/ .profile は(おそらく)ユニバーサル初期化ファイルですが、ログインシェルによってのみ読み取られます
〜/ .kshrc は、kshによって読み取られる典型的なスタートアップファイルですが、 ENV 環境変数が設定されている場合のみです(ただし、ssh_configマンページのSendEnvを参照してください)。


また、いつでも-upload-pack = / usr / local / bin / git-upload-pack オプションを" git clone"に渡すことができます。 (そして、 remote.origin.uploadpack 構成変数を設定します)リモートでPATHを設定できない場合。そしてもちろん、git-receive-packが見つからない場合は remote.origin.receivepack です。

他のヒント

Solarisマシンのシェルのように聞こえるのはbashではなくkshであるため、.bashrcが読み取られないのはこのためです。 .profileに変更を加えてみてください

.profileのパスに/ usr / local / binを追加して、solarisでそれを取得する必要がありました(そしてgit upload-packを機能させます)。いつも設定が悪いのは自分のボックスだと思っていましたが、そうではないかもしれません...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top