-
Notifications
You must be signed in to change notification settings - Fork 18k
cmd/go: 'go build' on a module absolute path while cwd is in GOPATH builds in GOPATH mode #27612
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Sounds like this is somewhat related to #26709? |
Yeah. Probably the same problem as stated at the end of that issue, though it's not described in that issue's main text. |
Addendum.... this came up as a problem because I would build go code outside my gopath, and the go tool downloaded the dependencies, but then I'd try to build the same code in the same location, but with the working directory inside gopath, and the go tool wouldn't be able to find the dependencies (because it was looking in gopath). |
I don't think see a viable alternative to the current behavior. |
Building two things is not this issue. But - However, if I run go build on exactly one thing, there's only possible correct behavior, and there not the behavior that occurs right now. I'm not sure where the confusion is with that. |
In the near future, you will always be in module mode by default. I can't justify the complexity of adding target-sensitive mode switching (and, in particular, of detecting mode-spanning arguments) when they would just be temporary anyway. |
What did you do?
If I init a go module outside my gopath and then run go build from that directory, it works as expected.
If I run go build /absolute/dir/of/module but my current working directory is inside my gopath, go build will try to look up dependencies in my gopath (and fail if they're not there).
This seems wrong. if I give a path to the code, the path of the code should be what determines whether or not to use modules, no the current directory of where go build is run. Otherwise, I get different behavior for building the same code in the same place dependent on the CWD, which is extremely confusing and hard to debug.
System details
The text was updated successfully, but these errors were encountered: