не могу установить библиотеку в Golang

Сайт с инструкцией установки

Я хочу установить библиотеку Excelize. До этого я никогда не устанавливал сторонние библиотеки. Постоянно возникает множество ошибок и инструкция на сайте для меня совершенно не ясна.

На сайте сказанно:

go get github.com/xuri/excelize

Инструкция мягко говоря полнотой не блещет. Я полный нуб и хорошо, что хотя бы понимаю, что это команда для терминала, но в каком месте мне инициализировать запуск терминала??? Я использую Windows, открываю командную сторку в папке Go, пытаюсь ввести команду, получаю ошибку:

    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.mod, так же насколько я понял мне стоит использовать go install. Сначала попробовал с go install, толку 0

    C:\Program Files\Go>go install github.com/xuri/excelize/v2
go: 'go install' requires a version when current directory is not in a module
        Try 'go install github.com/xuri/excelize/v2@latest' to install the latest version

C:\Program Files\Go>go install github.com/xuri/excelize/v2@latest
package github.com/xuri/excelize/v2 is not a main package

Нашел файл go.mod в папке src пробую там, получаю новую ошибку:

C:\Program Files\Go\src>go get github.com/xuri/excelize
go: github.com/xuri/[email protected]: parsing go.mod:
        module declares its path as: github.com/360EntSecGroup-Skylar/excelize
                but was required as: github.com/xuri/excelize

Создавал файл go.mod в папке с файлом программой, где мне нужна эта библиотека, что-то установилось

C:\Program Files\Go\src\projects\go\quests\test>go get github.com/xuri/excelize/v2
go: downloading github.com/360EntSecGroup-Skylar/excelize/v2 v2.4.0
go: downloading github.com/richardlehane/mscfb v1.0.3
go: downloading github.com/xuri/efp v0.0.0-20210322160811-ab561f5b45e3
go: downloading golang.org/x/net v0.0.0-20210415231046-e915ea6b2b7d
go: downloading golang.org/x/crypto v0.0.0-20210415154028-4f45737414dc
go: downloading golang.org/x/text v0.3.6
go: downloading github.com/richardlehane/msoleps v1.0.1
go: added github.com/360EntSecGroup-Skylar/excelize/v2 v2.4.0
go: added github.com/richardlehane/mscfb v1.0.3
go: added github.com/richardlehane/msoleps v1.0.1
go: added github.com/xuri/efp v0.0.0-20210322160811-ab561f5b45e3
go: added golang.org/x/crypto v0.0.0-20210415154028-4f45737414dc
go: added golang.org/x/net v0.0.0-20210415231046-e915ea6b2b7d
go: added golang.org/x/text v0.3.6

Но в проекте при импорте подчеркивается ошибка

could not import github.com/xuri/excelize/v2 (no required module provides package "github.com/xuri/excelize/v2")compilerBrokenImport
import cycle not allowed go list

Надеюсь, что тут кто-нибудь сможет помочь и подсказать, что делать


Ответы (1 шт):

Автор решения: Pak Uula

В Го нельзя установить библиотеку "вообще". Библиотека устанавливается для конкретного проекта, так как различные проекты могут использовать разные версии одной и той же библиотеки.

Поэтому вам нужно открыть терминал в корневом каталоге вашего проекта, где находятся файлы go.mod и go.sum. Если в корне этих файлов нет, их нужно создать командами

go mod init <имя вашего проекта в стиле github.com/username/projectname>

и потом

go mod tidy

Команда go mod init нужна только один раз.

После того как go.mod инциализирован можно загружать библиотеку командой go get.

→ Ссылка