コマンドラインを使用してLinuxからGoツールを削除する方法は?

コマンドラインを使用してLinuxからGoツールを削除する方法は?

インストールcfして使用しました。

go get github.com/xalanq/cf-tool
cd $GOPATH/src/github.com/xalanq/cf-tool
go build -ldflags "-s -w" cf.go

cf --version
output: Codeforces Tool (cf) v1.0.0

以下を使って削除してみました。

sudo apt-get --purge remove Codeforces\ Tool && sudo apt-get autoremove

そして

sudo apt-get --purge remove cf && sudo apt-get autoremove

しかし、次のエラーが発生しました。

E: Unable to locate package Codeforces Tool

そして

E: Unable to locate package cf

ただし、アンインストール方法にエラーが表示されます。

答え1

aptインストールされているソフトウェアのみを削除できますapt。他の方法を使用してソフトウェアをインストールした場合は、ソフトウェアをアンインストールすることaptはできません。システムからソフトウェアを削除するには、他の方法を使用する必要があります。

たとえば、Goソフトウェアインフラストラクチャaptは別々であり、バイナリやその他のファイルはインストーラやgo getGoによって何らかの方法go installで認識されませんapt

cf-toolアイテムを削除してみて$GOPATHください。

go clean -x -i

モジュールディレクトリでは、$GOPATH/src/github.com/xalanq/cf-toolこれは通常プロジェクトのソースディレクトリから削除する方法ですgo install。しかし、少し古いバージョンのGo言語ツールを実行しているようで、これがうまくいくかどうかわかりません(参考文献を参照go help clean)。 。

ファイルの削除rmも可能です(質問に記載されているパス名を使用)。

rm -r "$GOPATH/src/github.com/xalanq/cf-tool"
rm "$GOPATH/bin/cf"

しかし、私のGoバージョンのシステムでは(つまり、インストールせずに使用go1.21.0するという意味)、パスとファイル名は次のようになります。go installgo getcfかなりその他:

rm -r "${GOPATH:-$HOME/go}/pkg/mod/github.com/xalanq/[email protected]"
rm "${GOPATH:-$HOME/go}/bin/cf-tool"

簡単に言えば、rm実行可能ファイルとモジュールディレクトリを削除するために使用されます。

答え2

コマンド名は単にcf入力しやすくするためのものですが、パッケージ名は長い場合があります。あるいは、ツールが*.debパッケージからまったくインストールされていない可能性があります。

最初の実行はdpkg-query -S $(which cf)実際のパッケージ名を見つけようとします。出力がない場合は、cfパッケージマネージャを使用してツールがインストールされていません。開発者が単一の実行可能ファイルとして提供しているようです。$PATHのディレクトリに入れるだけです。そのようにインストールした場合は、削除するには削除してください。

関連情報