Как удалить установленный пакет с помощью модулей go

Я установил пакет, используя модули go (перейдите в Go 1.13), и теперь я хочу его удалить. В документации ничего об этом нет, а в иди получить документацию ни то, ни другое.

Удаление пакета из go.mod вручную не решает проблему, поэтому он остается в go.sum.

Как мне удалить пакет чистым способом?


person jesugmz    schedule 24.07.2019    source источник


Ответы (2)


Нашел https://blog.golang.org/using-go-modules#TOC_7.

go mod tidy

Итак, как только пакет не импортируется ни в один из пакетов, вы можете выполнить go mod tidy, и он безопасно удалит неиспользуемые зависимости.

И если вы поставляете зависимости, то выполните команду ниже, чтобы изменения модуля были применены в папке поставщика:

go mod vendor

person jesugmz    schedule 24.07.2019
comment
Модуль отсутствует в go.mod, но все еще находится в каталоге поставщика! - person sope; 12.12.2019
comment
@sope вы выполнили его с GOFLAG -mode = vendor? github.com/golang/go/wiki/ - person jesugmz; 23.04.2020
comment
Кажется, удалить модули генерации кода (которые не используются непосредственно в коде, только в //go:generate комментариях), есть ли способ сохранить эти модули? - person Henry Woody; 29.12.2020

Ответ @jesugmz не говорит, что, если вы хотите удалить текущий пакет в модулях go.

Итак, если вы используете модули go (у вас есть файл go.mod в вашем проекте) и вы хотите удалить текущий используемый пакет, проверьте каталог $GOPATH/pkg/mod/ и просто удалите пакет с именем package@version.

Например, если у вас установлен пакет github.com/some/project, вы должны выполнить следующую команду:

rm -rf $(go env GOPATH)/pkg/mod/github.com/some/[email protected]

Вы можете найти используемую версию пакета в go.mod файле.

person MJafari    schedule 28.06.2021