Skip to content
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

cmd/go: warn if 'go install' is called on a non-main package pattern in module mode #46912

bcmills opened this issue Jun 24, 2021 · 0 comments


Copy link

@bcmills bcmills commented Jun 24, 2021

This issue is a companion to proposal #41696, brought to my attention via

In module mode, non-main packages lack an install target, and go install for such packages is equivalent to go build (compare #46911).

As such, a call to go install with a pattern containing only non-main packages is at best confusing: at best, the user has conflated go install with go build, and at worst, they are trying to install a binary but have named a corresponding library instead.

The latter case crops up surprisingly frequently. For example, the library is easily confused with the executable, and the library is easily confused with the executable

I don't think we need to actually remove the ability to call go install on a non-main package, but we should at least log something to clear up the user's likely confusion.

CC @jayconrod @matloob

@bcmills bcmills added this to the Backlog milestone Jun 24, 2021
@bcmills bcmills self-assigned this Jun 24, 2021
@bcmills bcmills removed this from the Backlog milestone Jun 24, 2021
@bcmills bcmills added this to the Go1.18 milestone Jun 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant