설치 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 get
이나 Go에서 어떤 방식 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 install
go get
cf
상당히다른:
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의 디렉토리에 넣으면 됩니다. 그런 식으로 설치한 경우 제거하려면 삭제하세요.