Какие знаешь пакетные менеджеры

«Какие знаешь пакетные менеджеры» — вопрос из категории DevOps, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Go используется встроенный менеджер модулей go mod, который появился в Go 1.11. Он управляет зависимостями через файл go.mod и автоматически загружает пакеты в GOPATH/pkg/mod.

Основные команды:

go mod init  // инициализация модуля
go get      // добавление/обновление зависимости
go mod tidy // очистка неиспользуемых зависимостей

Ранее использовались:

  • GOPATH (ручное управление зависимостями)
  • dep (устаревший менеджер зависимостей)
  • glide (альтернативный менеджер)

Сейчас go mod - стандартный и рекомендуемый способ управления зависимостями в Go. Он поддерживает семантическое версионирование (semver) и позволяет работать вне GOPATH.