Почему при установке пакета список пакетов не отображется в файле go.mod?

Устанавливаю пакет, идёт закачка, но go.mod закачанные пакеты не фиксируются. Как то так отображается в терминале:

PS D:\Golland\1> go install github.com/geziyor/geziyor@latest
go: downloading github.com/geziyor/geziyor v0.0.0-20220429000531-738852f9321d
go: downloading github.com/chromedp/chromedp v0.8.0
go: downloading golang.org/x/time v0.0.0-20220411224347-583f2d630306
go: downloading github.com/PuerkitoBio/goquery v1.8.0
go: downloading github.com/chromedp/cdproto v0.0.0-20220428002153-285dfb42699c
go: downloading golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4
go: downloading golang.org/x/text v0.3.7
go: downloading github.com/go-kit/kit v0.12.0
go: downloading github.com/prometheus/client_golang v1.12.1
go: downloading github.com/temoto/robotstxt v1.1.2
go: downloading github.com/andybalholm/cascadia v1.3.1
go: downloading github.com/gobwas/ws v1.1.0
go: downloading github.com/mailru/easyjson v0.7.7
go: downloading github.com/beorn7/perks v1.0.1
go: downloading github.com/cespare/xxhash/v2 v2.1.2
go: downloading github.com/golang/protobuf v1.5.2
go: downloading github.com/prometheus/client_model v0.2.0
go: downloading github.com/prometheus/common v0.34.0
go: downloading github.com/cespare/xxhash v1.1.0
go: downloading golang.org/x/sys v0.0.0-20220422013727-9388b58f7150
go: downloading google.golang.org/protobuf v1.28.0
go: downloading github.com/chromedp/sysutil v1.0.0
go: downloading github.com/gobwas/httphead v0.1.0
go: downloading github.com/gobwas/pool v0.2.1
go: downloading github.com/josharian/intern v1.0.0
go: downloading github.com/VividCortex/gohistogram v1.0.0
go: downloading github.com/matttproud/golang_protobuf_extensions v1.0.1
package github.com/geziyor/geziyor is not a main package

Что делаю не так?


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

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

Это не ответ, а расширенный комментарий.

Вот результат выполнения команды go get:

$ go version
go version go1.19.4 linux/amd64
$ go get github.com/geziyor/geziyor@latest
go: downloading github.com/geziyor/geziyor v0.0.0-20220429000531-738852f9321d
go: downloading github.com/chromedp/chromedp v0.8.0
go: downloading golang.org/x/time v0.0.0-20220411224347-583f2d630306
go: downloading github.com/chromedp/cdproto v0.0.0-20220428002153-285dfb42699c
go: downloading github.com/PuerkitoBio/goquery v1.8.0
go: downloading golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4
go: downloading github.com/go-kit/kit v0.12.0
go: downloading github.com/prometheus/client_golang v1.12.1
go: downloading github.com/temoto/robotstxt v1.1.2
go: downloading github.com/andybalholm/cascadia v1.3.1
go: downloading github.com/gobwas/ws v1.1.0
go: downloading github.com/mailru/easyjson v0.7.7
go: downloading github.com/beorn7/perks v1.0.1
go: downloading github.com/cespare/xxhash/v2 v2.1.2
go: downloading github.com/golang/protobuf v1.5.2
go: downloading github.com/prometheus/client_model v0.2.0
go: downloading github.com/prometheus/common v0.34.0
go: downloading github.com/cespare/xxhash v1.1.0
go: downloading github.com/prometheus/procfs v0.7.3
go: downloading golang.org/x/sys v0.0.0-20220422013727-9388b58f7150
go: downloading google.golang.org/protobuf v1.28.0
go: downloading github.com/chromedp/sysutil v1.0.0
go: downloading github.com/gobwas/httphead v0.1.0
go: downloading github.com/gobwas/pool v0.2.1
go: downloading github.com/josharian/intern v1.0.0
go: downloading github.com/matttproud/golang_protobuf_extensions v1.0.1
go: downloading github.com/VividCortex/gohistogram v1.0.0
go: added github.com/PuerkitoBio/goquery v1.8.0
go: added github.com/VividCortex/gohistogram v1.0.0
go: added github.com/andybalholm/cascadia v1.3.1
go: added github.com/beorn7/perks v1.0.1
go: added github.com/cespare/xxhash/v2 v2.1.2
go: added github.com/chromedp/cdproto v0.0.0-20220428002153-285dfb42699c
go: added github.com/chromedp/chromedp v0.8.0
go: added github.com/chromedp/sysutil v1.0.0
go: added github.com/geziyor/geziyor v0.0.0-20220429000531-738852f9321d
go: added github.com/go-kit/kit v0.12.0
go: added github.com/gobwas/httphead v0.1.0
go: added github.com/gobwas/pool v0.2.1
go: added github.com/gobwas/ws v1.1.0
go: added github.com/golang/protobuf v1.5.2
go: added github.com/josharian/intern v1.0.0
go: added github.com/mailru/easyjson v0.7.7
go: added github.com/matttproud/golang_protobuf_extensions v1.0.1
go: added github.com/prometheus/client_golang v1.12.1
go: added github.com/prometheus/client_model v0.2.0
go: added github.com/prometheus/common v0.34.0
go: added github.com/prometheus/procfs v0.7.3
go: added github.com/temoto/robotstxt v1.1.2
go: added golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4
go: added golang.org/x/sys v0.0.0-20220422013727-9388b58f7150
go: added golang.org/x/text v0.3.7
go: added golang.org/x/time v0.0.0-20220411224347-583f2d630306
go: added google.golang.org/protobuf v1.28.0

Файл go.mod до:

module example.org

go 1.19

После:

module example.org

go 1.19

require (
        github.com/PuerkitoBio/goquery v1.8.0 // indirect
        github.com/VividCortex/gohistogram v1.0.0 // indirect
        github.com/andybalholm/cascadia v1.3.1 // indirect
        github.com/beorn7/perks v1.0.1 // indirect
        github.com/cespare/xxhash/v2 v2.1.2 // indirect
        github.com/chromedp/cdproto v0.0.0-20220428002153-285dfb42699c // indirect
        github.com/chromedp/chromedp v0.8.0 // indirect
        github.com/chromedp/sysutil v1.0.0 // indirect
        github.com/geziyor/geziyor v0.0.0-20220429000531-738852f9321d // indirect
        github.com/go-kit/kit v0.12.0 // indirect
        github.com/gobwas/httphead v0.1.0 // indirect
        github.com/gobwas/pool v0.2.1 // indirect
        github.com/gobwas/ws v1.1.0 // indirect
        github.com/golang/protobuf v1.5.2 // indirect
        github.com/josharian/intern v1.0.0 // indirect
        github.com/mailru/easyjson v0.7.7 // indirect
        github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
        github.com/prometheus/client_golang v1.12.1 // indirect
        github.com/prometheus/client_model v0.2.0 // indirect
        github.com/prometheus/common v0.34.0 // indirect
        github.com/prometheus/procfs v0.7.3 // indirect
        github.com/temoto/robotstxt v1.1.2 // indirect
        golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 // indirect
        golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 // indirect
        golang.org/x/text v0.3.7 // indirect
        golang.org/x/time v0.0.0-20220411224347-583f2d630306 // indirect
        google.golang.org/protobuf v1.28.0 // indirect
)

Как видите, всё работает. Какой у вас go.mod? Какая версия go?

→ Ссылка
Автор решения: hedgehogues

Кажется, у вас возникла ошибка при использовании команды go install. Команда go install служит для установки и сборки пакета и всех его зависимостей в папку $GOBIN, а также обновления информации о пакете в файле go.mod. Однако, в вашем случае пакет github.com/geziyor/geziyor отмечен как не являющийся основным пакетом. Основные пакеты - это те пакеты, которые содержат функцию main, которую можно запустить как исполняемый файл. В вашем случае, команда go install не применима, так как пакет github.com/geziyor/geziyor не является основным пакетом.

Чтобы установить пакет и его зависимости, вам следует использовать команду go get. Например:

go get github.com/geziyor/geziyor

Эта команда установит пакет github.com/geziyor/geziyor и все его зависимости, а также обновит файл go.mod со списком установленных пакетов.

Что касается вашего комментария по версии. Команда go get служит для установки пакетов и их зависимостей, а команда go install - для установки и сборки исполняемой программы.

Ошибка, которую вы указали, может возникнуть, если вы пытаетесь использовать синтаксис path@version с командами go get и go install в режиме модулей. В Go 1.13 и выше включен режим модулей, который упрощает управление зависимостями в проектах. В режиме модулей вы можете использовать синтаксис path@version для указания точной версии пакета, которую хотите установить.

→ Ссылка