Я обновил свой проект, чтобы использовать поддержку модулей go 1.11.2. Однако я столкнулся с очень неприятной проблемой. Файл go.mod постоянно меняется в CI. Каждый день это новый файл. Сегодня в go.sum есть следующие строки:
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd h1:HuTn7WObtcDo9uEEU7rEqL0jYthdXAmZ6PP+meazmaU=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
Go.mod:
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd // indirect
Никаких зависимостей не обновлял. Они не блокируются! Почему нет? Это действительно большая проблема, если зависимости постоянно меняются. Однако я не вижу, чтобы другие кричали об этой проблеме. Так что я, должно быть, делаю что-то не так.
Я использую go mod tidy
, чтобы синхронизировать его перед git diff --exit-code
. Это работает локально, но не работает в Travis-CI. Я думаю, что это проблема, потому что в Travis-CI ему нужно захватить зависимости, и поскольку эти зависимости не используют семантическое управление версиями, Go захватывает последнюю версию, которая изменяется при каждой фиксации для выполнения. Если вы согласны с этим, как мне заблокировать зависимости с помощью модулей Go?
go get
обновляет зависимости. github.com/golang/go/wiki/ - person Adrian   schedule 15.02.2019