Я видел это несколько раз. Это не связано с вендорингом и связано с go -mod, который не обновляет модуль до последней версии модулированной зависимости. Я сталкивался с этим несколько раз в ряде случаев. После двадцати или тридцатиминутных манипуляций он, по-видимому, внезапно начнет работать и, похоже, не связан ни с одной из выполняемых команд.
Для хронологической справки запишите метки времени в подсказках.
Самые последние две версии зависимости:
[02:00:51 go-utility]$ git log --oneline -2
4dc0f71 (HEAD -> master, origin/master, origin/HEAD) Modulize. Add image/media_parser_type.
de63c3d data/mime: Fix test
Обязательно сбросить любую существующую версию этого хранилища в кеше модуля:
[02:04:12 go-jpeg-image-structure]$ sudo rm -fr /home/local/MAGICLEAP/doprea/development/go/pkg/mod/cache/download/github.com/dsoprea/go-utility
[02:04:17 go-jpeg-image-structure]$ sudo rm -fr /home/local/MAGICLEAP/doprea/development/go/pkg/mod/github.com/dsoprea/go-utility@*
текущее содержимое go .mod. Обратите внимание, что я удалил строку с зависимостью go -utility:
[02:04:36 go-jpeg-image-structure]$ cat go.mod
module github.com/dsoprea/go-jpeg-image-structure
go 1.13
// Development only
// replace github.com/dsoprea/go-utility => ../go-utility
require (
github.com/dsoprea/go-exif/v2 v2.0.0-20200321225314-640175a69fe4
github.com/dsoprea/go-logging v0.0.0-20190624164917-c4f10aab7696
github.com/golang/geo v0.0.0-20200319012246-673a6f80352d // indirect
github.com/jessevdk/go-flags v1.4.0
golang.org/x/net v0.0.0-20200320220750-118fecf932d8 // indirect
gopkg.in/yaml.v2 v2.2.8 // indirect
)
Версия HEAD главной ветки, о которой сообщает Github:
[02:04:56 go-jpeg-image-structure]$ curl -s https://api.github.com/repos/dsoprea/go-utility/commits/master | jq .sha -r
4dc0f716e7d0bf2e750d492a55157583ad54b065
Тем не менее, по неявной причине, загрузка пытается получить версию зависимости de63c3d65525 (HEAD ~ 1):
[02:04:58 go-jpeg-image-structure]$ go get -u ./...
go: finding github.com/dsoprea/go-utility latest
go: downloading github.com/dsoprea/go-utility v0.0.0-20190915061447-de63c3d65525
go: extracting github.com/dsoprea/go-utility v0.0.0-20190915061447-de63c3d65525
go: finding golang.org/x/net latest
go: finding github.com/dsoprea/go-exif/v2 latest
go: finding github.com/golang/geo latest
go: finding github.com/dsoprea/go-logging latest
build github.com/dsoprea/go-jpeg-image-structure/command/js_dump: cannot load github.com/dsoprea/go-utility/image: module github.com/dsoprea/go-utility@latest found (v0.0.0-20190915061447-de63c3d65525), but does not contain package github.com/dsoprea/go-utility/image
Это будет продолжаться в течение десяти или двадцати минут, пока не будет обновлен запрос Go, и все, что нуждается в этих обновлениях будет нарушен до тех пор (например, локальные изменения, которые вы закончили разработку и начинаете выпускать, начиная с изменений в зависимостях). Не ясно, какой API опрашивает ревизии HEAD. Кто-нибудь может ответить на это?