CentOS 7 システムを使用しています。git 2.27.0 がインストールされていますが、理由はわかりませんが、このインストールでは https gitlab インスタンスと通信できません。「'https' のリモート ヘルパーが見つかりません」というエラーが繰り返し表示されます。
そこで、git をアップグレードしようとして、「sudo yum upgrade git」を実行したところ、git パッケージがインストールされていないというメッセージが表示されました。しかし、「git --version」を実行すると、「git version 2.27.0」というメッセージが表示されます。「whereis git」を実行すると、「git: /usr/local/bin/git」というメッセージが表示されます。「sudo yum remove git」を実行すると、「No match for argument: git、No Packages marked for removed」というメッセージが表示されます。
git をインストールしてみましたが、なんとかうまくいきました。つまり、新しい git インスタンスがシステムにインストールされ、インストールが正常に行われ、git 2.31.1 がインストールされたというメッセージが多数表示されます。しかし、git version を実行すると、再び 2.27.0 が表示されます。その後、git を再度削除すると、2.31.1 バージョンが削除され、2.27.0 が保持されます。しかし、ここでも、yum は実際には存在しないと主張します。$PATH には、/usr/bin の前に /usr/local/bin があります。新しいコピーを /usr/bin にインストールし、すでに /usr/local/bin にあるコピーを完全に無視しているものと思われます。
では、yum に /usr/local/bin のコピーを削除するように指示する方法はありますか? 'sudo yum remove /usr/local/bin/git' を実行しようとすると、「No match for argument: /usr/local/bin/git」というメッセージが表示されます。
答え1
git がフォルダー内にあるということは、/usr/local/bin
システム パッケージ管理を介してインストールされていないことを示しています。
ソースからコンパイルされたのかもしれないし、別の方法でインストールされたのかもしれないが、それを知る方法はない。
ソースからコンパイルおよびインストールされていて、ソース コードがまだシステム上に残っている場合は、make uninstall
ソース フォルダーを使用して削除できる可能性があります。
そうでない場合は、git インストールに属するすべてのファイルを手動で削除する必要があります (または少なくとも git バイナリを削除し、システム上に孤立したファイルがあることを無視します)。最も良い方法は、インストールした人に尋ねることです。
パッケージ マネージャーを使用して git をインストールするだけで済みます。古いインストールを置き換えるか、パス変数内の bin ディレクトリの順序を調整して、それを「プライマリ」にすることができます。