Проблема с использованием модифицированной версии зависимости Go - PullRequest
0 голосов
/ 24 апреля 2020

Итак, вот ситуация:

У меня вилка go-ipfs. Это зависит от go-ipfs-config. Мне нужно изменить go-ipfs-config и сделать go-ipfs зависимым от моей модифицированной версии.

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

Затем я обновил go.mod в go-ipfs, чтобы использовать мою модифицированную версию. Я использовал директиву replace, чтобы обозначить это намерение, которое можно увидеть здесь

Это то, где вещи получают абсолютно бункеры, и я больше не уверен, что происходит.

Когда я делаю go mod tidy, чтобы получить зависимость, я получаю следующий вывод:

go: finding module for package github.com/dadepo/go-ipfs-config
go: found github.com/dadepo/go-ipfs-config in github.com/dadepo/go-ipfs-config v0.5.3

Сумасшедшая вещь в том, что v0.5.3 не существует в github.com/dadepo/go-ipfs -config!

Также к go .mod добавляется следующая строка:

github.com/dadepo/go-ipfs-config v0.5.3 // indirect

Что даже можно увидеть здесь

I запускал такие команды, как go clean -modcache и go clean -r et c, но, похоже, ничего не исправило!

Кто-нибудь знает, что я делаю неправильно? А также как достичь цели, чтобы моя версия проекта зависела от другой модифицированной версии его зависимости?

1 Ответ

0 голосов
/ 27 апреля 2020

Хорошо, так что это из-за того, что я не осознавал пару вещей, происходящих в Go lang toolchain.

Очевидно, https://proxy.golang.org - вещь! Это сервис, управляемый Google, который кэширует модули. Так что если вы сделали релиз, удалили его, скорее всего, версия уже кэширована в https://proxy.golang.org. Это было именно то, что произошло в моем случае. Я сделал релиз 0.5.3, удалил его, но он на самом деле не исчез, поскольку кеш Google уже получил его.

Так что в случае, если вы видите версии, которые не должны существовать. Это должно быть первое место, которое вы проверяете. Эта ссылка на документацию также проливает немного света на прокси-сервер и способы его настройки.

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

...