Have written a lot of GO engineering, from Go Vet to Glide to Go DEP, has been using the latest go1.11 new feature go mod, can say go mod has been the best version management tool I have used, but it is still in the experimental stage, there are also a lot of pits, when the problem is to solve their own, It’s easy to go into dependency hell when you have too many projects.
If you don’t want to mess around, the best thing to do is to upload vendor to the codebarder, once and for all.
Question 1:
Mesher projects rely on go-chassis projects and are managed using Go Mod. When I tried to run Mesher’s Go mod, the error was as follows
github.com/go-chassis/[email protected]: parsing go. Mod: go. Mod: 24: Invalid Module version “master”: Version must be of the form V1.2.3
There was actually a problem with the go. Mod definition for the Go Chassis project. One of the dependent versions was defined as master, and I inadvertently passed this definition to the codebase:
github.com/go-chassis/paas-lager masterCopy the code
This is not actually allowed in Go Mod, and requires the go mod command to automatically generate the version and push it to the code base
- eff93e5e67db github.com/go-chassis/paas-lager v0.0.0-20180905100939Copy the code
When a library that relies on Go Chassis also defines Go. mod, which defines Go chassis. There will be problems.