установка библиотеки go, ошибка go: go.mod file not found in current directory or any parent directory и no required module provides package

Рейтинг: 2Ответов: 2Опубликовано: 19.06.2023

Хотел установить библиотеку.

Инструкция такая:

Installation

go get github.com/xuri/excelize

If your packages are managed using Go Modules, please install with following command.

go get github.com/xuri/excelize/v2

Пробую, ошибка:

go: go.mod file not found in current directory or any parent directory.
        'go get' is no longer supported outside a module.

Сгонял по ссылке библиотеки, github пишет 404. Не уверен, что так должно быть.

UPD Сделал следующее:

go install github.com/xuri/excelize/v2@latest

что-то установилось, но всё равно код не собирается, ошибка:

no required module provides package github.com/xuri/excelize/v2

РОДНОЙ README

Ответы

▲ 1Принят

проще говоря, если совсем непонятно:

  1. создайте папку проекта mkdir my_proj
  2. в этой папке go mod init main
  3. создаёте файлик touch main.go
  4. устанавливайте библиотеку как и хотели, обязательно внутри папки go get github.com/user/my_lib
▲ 1

Эта ошибка говорит что у вас нету файла go.mod.

Структура должна быть примерно такая:

📁 test_module
  📃 go.mod
  ...

Вы должны находиться в папке test_pkg (Это и есть модуль go).

Далее в ней вы вводите какую нужно команду, например:

go get github.com/xuri/excelize

Должен создаться файл go.sum и всё должно работать.

Подробнее о файле go.mod в документации.