Hi! We have recently turned one of our internal Go projects into a Go module. The project was using vendoring and we intend to continue doing so - just rather with the natural support from `go mod` instead of govendor as before.
An interesting issue came up when we've decided to try the recently added ability of `go install` to grab a named module and build an executable from it: we would expect that when we do $ go install an/module/import/path@latest the command would grab the module's source code (it's hosted by a GitLab instance, so we'd expect the source code to be `git clone`-d) and then behave as if one would clone the module's repository by hand and then run `go install` in the local clone's work tree - that is, we'd expect the command to actually make use of the vendored packages and not attempt to download anything except the source code of the specified module. Instead, the command appears to read the module's go.mod file and then download all the dependencies from the network - completely ignoring the "vendor" directory of the module. I have tried to locate a related issue in the bug tracker, but failed; [1] is the closest I was able to come up with, but it appears to not touch the very problem I have described. The documentation also does not seem to specify the expected behaviour. Hence my question is: is this a problem worth reporting/discussing or just an undocumented behaviour which is "by design"? My take on why this behaviour is confusing is that it makes `go install` behave differently when it's apparently told to do the same thing to the same module: - When I have the module's source code on my filesystem, and I run `go install` in that directory, the command uses the vendored dependencies, builds and installs the executable provided by the module. - When I run `go install import/path/of/that/module@revision` I expect the command to just add one extra step - fetch the module's source code and then run `go install` in the (temporary) directory with the fetched source code. 1. https://github.com/golang/go/issues/44841 -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/20210805193923.6vf7q4cssrdwaxre%40carbon.