@uvins

Как установить пакет в Golang?

Есть проблемы при установке пакета. Нужно установить пакет go-sql-driver (https://github.com/go-sql-driver/mysql). В документации написано использовать команду
$ go get -u github.com/go-sql-driver/mysql
Но, при использовании этой команды выскакивает ошибка в терминале:
go: go.mod file not found in current directory or any parent directory.
'go get' is no longer supported outside a module.
To build and install a command, use 'go install' with a version,
like 'go install example.com/cmd@latest'
For more information, see https://golang.org/doc/go-get-install-deprecation
or run 'go help get' or 'go help install'.

Когда я использую команду
go install github.com/go-sql-driver/mysql@latest

Выскакивает другая ошибка
package github.com/go-sql-driver/mysql is not a main package

Как решить?
OC: Windows 11
Версия GO: go1.20.5 windows/amd64
  • Вопрос задан
  • 2238 просмотров
Решения вопроса 2
fenrir1121
@fenrir1121
Начни с документации
Первая же строка ошибки файл go.mod не найден в текущей директории
go: go.mod file not found in current directory or any parent directory.

Набирайте команду в находясь в папке вашего модуля.
Если модуль не создан команда go mod init

go install используется для исполняемых файлов

Документация
Ответ написан
Инструкция у пакета супер-устаревшая. В Го уже давно стандартом считается использование модулей.
Проекты теперь нельзя класть в GOPATH, нужно использовать другие папки.
Перед началом работы над проектом вам нужно инициализировать модули через go mod init имя_проекта, именем обычно бывает путь к репозиторию проекта, например: go mod init github.com/myuser/someproject

После этого можно устанавливать нужные вам зависимости через go get github.com/go-sql-driver/mysql@latest. Вместо latest можно указывать необходимую вам версию пакета.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы