go -mod не получает последнюю версию зависимости - PullRequest
0 голосов
/ 22 марта 2020

Я видел это несколько раз. Это не связано с вендорингом и связано с 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. Кто-нибудь может ответить на это?

1 Ответ

0 голосов
/ 23 марта 2020

https://index.golang.org - это индекс, используемый модулем получает, и получает https://proxy.golang.org, который определяется фактическим получением. Хотя предлагаемое время кэширования не соответствует тому, что мы видим, остальное имеет смысл.

caching slowness

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...