vasubabu
Posted on October 16, 2019
Why?
Be aware that upgrading the version of Go from older versions to 1.13 is not so easy, it comes with new difficulties due to these recent changes:
- Version validation:
- In 1.13 Go performs additional validation on the requested version string. The
+incompatible
version annotation bypasses the requirement of semantic import versioning for repositories that predate the introduction of modules. The go command now verifies that such a version does not include an explicit go.mod file. Refer for more infohttps://golang.org/doc/go1.13#/version-validation
- In 1.13 Go performs additional validation on the requested version string. The
- Changes to the Environment Variable
https://golang.org/doc/go1.13#/proxy-vars
- Proxy Servers:
- If your company having private repositories then you need to set these below environment variables
- go env -w GONOSUMDB="****" # use your github or bitbucket repo base url
- go env -w GONOPROXY="****" # use your github or bitbucket repo base url
- go env -w GOPROXY="https://proxy.golang.org,direct" #this should already be the default
- go env -w GOPRIVATE="****" # use your github or bitbucket repo base url
- If your company having private repositories then you need to set these below environment variables
Before start upgrading first clean your mod cache:
GO111MODULE=on go clean -modcache
I will be listing out the possible errors and it's respective solutions as well.
#1: If you are using go-micro framework
go: bitbucket.org/****/**** requires
github.com/micro/go-plugins@v0.25.0 requires
gocloud.dev@v0.10.0 requires
contrib.go.opencensus.io/exporter/ocagent@v0.4.2 requires
github.com/census-instrumentation/opencensus-proto@v0.1.0-0.20181214143942-ba49f56771b8: invalid pseudo-version: version before v0.1.0 would have negative patch number
fix:
Add this at last in your `go.mod` file
replace github.com/census-instrumentation/opencensus-proto v0.1.0-0.20181214143942-ba49f56771b8 => github.com/census-instrumentation/opencensus-proto v0.0.3-0.20181214143942-ba49f56771b8
#2: Protobuf
related problems
go: k8s.io/api@v0.0.0-20190726022912-69e1bce1dad5 requires
github.com/gogo/protobuf@v0.0.0-20190410021324-65acae22fc9: invalid pseudo-version: revision is shorter than canonical (65acae22fc9d)
S
fix:
Add this at last in your `go.mod` file
replace github.com/gogo/protobuf v0.0.0-20190410021324-65acae22fc9 => github.com/gogo/protobuf v0.0.0-20190723190241-65acae22fc9d
#3: github.com/instana/go-sensor
related
fix:
Add this at last in your `go.mod` file
replace github.com/instana/go-sensor => github.com/instana/golang-sensor v1.5.0
#4: Issue with mailgun-go
fix:
Add this at last in your `go.mod` file
replace github.com/mailgun/mailgun-go => github.com/mailgun/mailgun-go v0.0.0-20180718145431-bbe57f98d550
#5: Issue with hashicorp
ambiguous import issue
cannot load github.com/hashicorp/consul/api: ambiguous import: found github.com/hashicorp/consul/api in multiple modules:
github.com/hashicorp/consul v1.4.4 (/Users/vasubabujinagam/go/pkg/mod/github.com/hashicorp/consul@v1.4.4/api)
github.com/hashicorp/consul/api v1.1.0 (/Users/vasubabujinagam/go/pkg/mod/github.com/hashicorp/consul/api@v1.1.0)
S
fix:
Add this at last in your `go.mod` file
replace github.com/hashicorp/consul => github.com/hashicorp/consul v1.5.1
if you are facing anything other than this, please post in the comment section.
💖 💪 🙅 🚩
vasubabu
Posted on October 16, 2019
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.