После выпуска Go 1.11 я пытался переместить свои репозитории в модули Go, добавив файл go.mod
в их корень.
Одна из моих корневых библиотек my.host/root
находится в ее версии 17.0.1, поэтому я написал в ее go.mod
файле:
module my.host/root/v17
Я отметил эту версию v17.0.1
, как описано в руководстве к модулям Go.
Когда я пытаюсь создать новый проект Go, использующий мою корневую библиотеку, например:
package main
import root "my.host/root/v17"
func main() {
root.DoSomething()
}
И попробуйте скомпилировать, я получаю следующую ошибку:
go: my.host/root@v0.0.0-20180828034419-6bc78016491a: go.mod имеет путь к модулю post-v0 «my.host/root/v17» в редакции 6bc78016491a
Я затрудняюсь понять, почему это происходит. Я явно добавил v17.0.1
в файл go.mod
, но каждая попытка go build
заменяет запись на версию v0.0.0-20180828034419-6bc78016491a
, которая затем завершается неудачей, потому что при этой фиксации запись go.mod
file module
моей корневой библиотеки действительно заканчивается v17
, как и должно быть.
Для записи этот коммит совпадает с помеченной v17.0.1
версией.
Что я здесь не так делаю? Как я могу отладить эту ситуацию?