Как удалить все из $GOPATH/bin?

# #go

Вопрос:

go clean -i Команда, выполняемая внутри какого-либо проекта, удаляет исполняемый файл этого конкретного проекта, который ранее был установлен go install командой. Как удалить все, что установлено go install командами, которые были запущены из нескольких разных проектов? Есть ли какая-то одна go команда, которая может это сделать?

Комментарии:

1. С тобой что-нибудь не так rm -rf "$GOPATH/bin" ?

2. Это не согласуется с go clean -modcache тем, что известно об удалении всех загруженных модулей в соседнем $GOPATH/pkg каталоге. Это не согласуется с go набором команд в целом. Если что-то было установлено, go оно должно быть удалено go .

3. «Если что-то было установлено go, оно должно быть удалено go». Почему? Любая техническая причина, выходящая за рамки «я хочу». Кэш модуля сложен, и это кэш, поддерживаемый и принадлежащий инструменту go. ГОПАТ/бин-это ни то, ни другое.

4. @Ростиславкрасный «должен» — это ваше мнение. Это не так. Установка двоичного файла помещает один файл . Нет никаких оснований для каких-либо специальных инструментов для удаления одного файла.

5. @Volker Причина аналогична использованию диспетчера пакетов даже в дистрибутивах Linux с исходным кодом, а не make install . Существует go команда, которая устанавливает исполняемый файл, go команда, которая удаляет исполняемый файл текущего проекта, но нет go команды для управления всеми исполняемыми файлами в $GOPATH/bin . Это неправильно.

Ответ №1:

TL;DR

Удалите двоичный файл, как и любой другой файл.


Термин «установить» означает поместить (что-то) в новое положение, готовое к использованию. Поэтому Go создает двоичный файл с одним файлом и помещает его в другой каталог ( $GOPATH/bin ). Это полезно, когда вы добавляете двоичный каталог Go в переменную среды для вызова программы.

Там нет вспомогательного флага, например, go clean -bincache для удаления всех двоичных файлов, установленных Go 1.16.4.

Однако в текущей версии GoLang (1.16.4) правильный способ удалить (или «удалить», как вы сказали) любой установленный двоичный файл-это удалить его, как и любой другой файл, несмотря на то, что вы чувствуете, что это звучит неловко.