1# baz.go (importing just fmt) works with -mod=mod, -mod=vendor. 2go build -x -mod=mod my-module/vendor/example.com/another-module/foo/bar/baz.go 3go build -x -mod=readonly my-module/vendor/example.com/another-module/foo/bar/baz.go 4go build -x -mod=vendor my-module/vendor/example.com/another-module/foo/bar/baz.go 5 6# baz_with_outside_dep.go (with a non-std dependency) works with -mod=mod 7# but not with -mod=readonly and -mod=vendor. 8go build -x -mod=mod my-module/vendor/example.com/another-module/foo/bar/baz_with_outside_dep.go 9! go build -x -mod=readonly my-module/vendor/example.com/another-module/foo/bar/baz_with_outside_dep.go 10stderr 'no required module provides package rsc.io/quote' 11! go build -x -mod=vendor my-module/vendor/example.com/another-module/foo/bar/baz_with_outside_dep.go 12stderr 'no required module provides package rsc.io/quote' 13 14-- my-module/go.mod -- 15module example.com/my-module 16 17go 1.20 18-- my-module/vendor/example.com/another-module/foo/bar/baz.go -- 19package main 20 21import "fmt" 22 23func main() { 24 fmt.Println("hello, world.") 25} 26-- my-module/vendor/example.com/another-module/foo/bar/baz_with_outside_dep.go -- 27package main 28 29import ( 30 "fmt" 31 "rsc.io/quote" 32) 33 34func main() { 35 fmt.Println(quote.Hello()) 36} 37