
RHELのソースからgitをインストールする必要があります。インストール後に/usr/local/bin/git
コマンドを実行すると、gitコマンドが表示されます。この whereis
パスも使用できます$PATH
。
gitを入力しても「コマンドが見つかりません」と表示されます。この問題をどのように解決しますか?
編集:さまざまなコマンドの出力
$type git
type: Command not found.
$which git
git: Command not found.
$ls -l /usr/local/bin/git
-rwxr-xr-x 112 root users 5851488 Mar 15 20:07 /usr/local/bin/git
$whereis git
git: /usr/local/bin/git
$echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
編集:今はうまくいきますが、理由はわかりません。
Telnetの接続を解除して数分前に再度ログインしましたが、gitコマンドが機能することがわかりました。動作が始まる原因が何であるかよくわかりません。これはとても混乱しています。
答え1
エラーメッセージで判断すると(t)cshを使用しているのです。特に、$
cshプロンプトではなくBourneプロンプトであるプロンプトとして表示される場合は、質問にこれを言及すると便利です。
type
Bourneスタイルの組み込みシェルです。 cshには存在しません。実行すると、コマンドが見つからないというメッセージtype git
が表示されます。type
多くのシェルは、キャッシュの検索パス内のコマンドの場所に関する情報を保持します。どのバージョンのcshキャッシュがルックアップを無効にしているかわかりませんが、あなたのバージョンではそうです。rehash
キャッシュを更新するには、コマンドを実行します。新しいシェルインスタンスを起動すると、新しいキャッシュが作成されるため、以前は存在しなかったgit
ことを覚えていません。
答え2
たとえば、次のことを確認してください。このスレッド、あなたのシェルはあなたが受け取るべきシェルから変更されていません。
私は私のシェルがcshに変更され、問題が発生することがわかりました。
[root@localhost ~]# grep ^"$USER" /etc/passwd
root:x:0:0:root:/root:/bin/csh
bashに変更したところ、問題は解決しました!
[root@localhost ~]# type export
export is a shell builtin
これは、エラーメッセージが表示される理由を説明できますtype: Command not found.
。
私は次のコマンドを試しました。
[root@localhost ~]# csh
[root@localhost ~]# type export
type: Command not found.
[root@localhost ~]# bash
[root@localhost ~]# type export
export is a shell builtin
[root@localhost ~]# grep ^"$USER" /etc/passwd
root:x:0:0:root:/root:/bin/bash
答え3
最も可能性の高い理由は正しいものを持っていますが、PATH
正しいものではないからですLD_LIBRARY_PATH
。
最新のgit
実行可能ファイルは動的にリンクされたバイナリです。インストール手順に従ったときに.so
ライブラリ(ファイル)がに配置されている可能性があるため、このパスをに追加してgitを実行する/usr/local/lib
必要があります。LD_LIBRARY_PATH
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
git
これがうまくいかない場合はldd /usr/local/bin/git
ありがとうございます。
PS:解決策がうまくいくと、LD_LIBRARY_PATH行.bash_profile