Что вызывает «Соответствие шаблону без зависимостей модулей» при использовании загрузки go mod?

#go #module

#Вперед #модуль

Вопрос:

При запуске загрузки go mod отображается предупреждение (предупреждение: шаблон «все» не соответствует зависимостям модулей), и ни один из модулей в моем файле go.mod не загружается в локальный кэш.

Я провел последний час в Google, пытаясь найти похожие ошибки, но застрял с единственными результатами, которые были нарушены журналами сборки CI.

Мой файл go.mod выглядит следующим образом:

 module github.com/j4ng5y/scraper-api

go 1.12

require (
    github.com/PuerkitoBio/goquery v1.5.0 // indirect
    github.com/antchfx/htmlquery v1.0.0 // indirect
    github.com/antchfx/xmlquery v1.0.0 // indirect
    github.com/antchfx/xpath v0.0.0-20190319080838-ce1d48779e67 // indirect
    github.com/go-yaml/yaml v2.1.0 incompatible
    github.com/gobwas/glob v0.2.3 // indirect
    github.com/gocolly/colly v1.2.0 // indirect
    github.com/gorilla/mux v1.7.1
    github.com/kennygrant/sanitize v1.2.4 // indirect
    github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca // indirect
    github.com/temoto/robotstxt v0.0.0-20180810133444-97ee4a9ee6ea // indirect
    golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3 // indirect
    google.golang.org/appengine v1.5.0 // indirect
)
  

Я ожидал бы, что загрузка go mod переместит все модули в локальный кеш, но вместо этого я получаю предупреждение, и ничего не загружается.

Комментарии:

1. Также опубликовано здесь: reddit.com/r/golang/comments/bfw4dc /…

2. @MartinTournoij Это мой пост на Reddit, в котором я ищу ответы, лол. То же имя пользователя.

3. Да, я знаю. Вот почему я связал его, чтобы люди могли видеть, есть ли у него уже ответ в другом месте. Подобные перекрестные вопросы, как правило, не поощряются.

Ответ №1:

Попробуйте включить модули go. Это работает для меня с go 1.12

 GO111MODULE=on go mod download
  

Примечание: Если вы работаете внутри $GOPATH/src, модули go по умолчанию отключены и могут быть включены, установив GO111MODULE=on .

Из https://blog.golang.org/using-go-modules,

(Внутри $ GOPATH / src для совместимости команда go по-прежнему выполняется в старом режиме GOPATH, даже если найден go.mod . Подробности см. В документации по команде go.)

Ответ №2:

У меня была такая же проблема, и я решил ее, изменив версию go на v1.11.9.

 go mod download
go: modules disabled inside GOPATH/src by GO111MODULE=auto; see 'go help modules'
  

export GO111MODULE=on

Комментарии:

1. В идеале я хотел бы решить эту проблему без понижения с Go 12 до 11. Хотя спасибо.

2. У меня была такая же проблема в 1.12, но только что обновлена до 1.13, и она работает без необходимости установки GO111MODULE на что-либо

Ответ №3:

Возникает аналогичная проблема при запуске Dockerfile.

Dockerfile:

 ENV GO111MODULE=on
RUN go mod download
RUN go mod verify