···1-Starting from go1.14, go verifes that vendor/modules.txt matches the requirements
2-and replacements listed in the main module go.mod file, and it is a hard failure if
3-vendor/modules.txt is missing.
4-5-Relax module consistency checks and switch back to pre go1.14 behaviour if
6-vendor/modules.txt is missing regardless of go version requirement in go.mod.
7-8-This has been ported from FreeBSD: https://reviews.freebsd.org/D24122
9-See https://github.com/golang/go/issues/37948 for discussion.
10-11-diff --git a/src/cmd/go/internal/modload/init.go b/src/cmd/go/internal/modload/init.go
12-index 71f68efbcc..3c566d04dd 100644
13---- a/src/cmd/go/internal/modload/init.go
14-+++ b/src/cmd/go/internal/modload/init.go
15-@@ -133,7 +133,7 @@ func checkVendorConsistency() {
16- readVendorList()
17-18- pre114 := false
19-- if modFile.Go == nil || semver.Compare("v"+modFile.Go.Version, "v1.14") < 0 {
20-+ if modFile.Go == nil || semver.Compare("v"+modFile.Go.Version, "v1.14") < 0 || (os.Getenv("GO_NO_VENDOR_CHECKS") == "1" && len(vendorMeta) == 0) {
21- // Go versions before 1.14 did not include enough information in
22- // vendor/modules.txt to check for consistency.
23- // If we know that we're on an earlier version, relax the consistency check.