-
Notifications
You must be signed in to change notification settings - Fork 18k
cmd/go: go get extremely slow with no feedback by default #17959
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
That is the Unix way: be quiet by default, unless verbosity was requested or there's an error. I don't think this is something we'll be changing. Even more people would be against what they'd consider spam (-v) by default. |
The Rule of Silence isn't that programs should be absolutely silent unless there is an error or output is specifically requested, it's that programs shouldn't output unnecessarily. Given feedback that a process that takes 15 minutes hasn't hung isn't unnecessary, in fact, it is good CLI design. For reference, none (0) of the other package managers I have tested are silent by default.
(
etc. I think to say "because it's Unix" is a bit disingenuous. It's extremely common for Unix programs with long-running tasks to have progress bars - see rsync, wget, git, etc. What's the advantage to not having a progress bar here? It seems like the benefits of "not seeming totally broken" vastly outweigh the benefits of "not annoying a small percentage of users who hate feedback and also refuse to use |
While I don't think that any of the package managers you have mentioned are good examples (they're all far too noisy all of the time), I do agree that some progress indication for Now, a progress bar isn't really an option -- it's too noisy by default, and not all VCSs support progress bars by default. Enabling Unfortunately I can't really think of a mechanism that is not noisy and at the same time provides enough information when needed. |
What version of Go are you using (
go version
)?What did you do?
go get
appears to have no useful feedback by default.To reproduce:
go get github.com/die-net/dhtproxy
This then appears to freeze for about 10-15 minutes. There is no feedback.
Eventually figured out that I can:
go get -u -v github.com/die-net/dhtproxy
To see the progress, and it appears that because
youtube/vitess
is absolutely gigantic, this command takes forever.What did you expect to see?
I expected to see something along the lines of "Fetching project, fetching deps, installing deps, etc", with some kind of progress bar.
What did you see instead?
Nothing. It just sits there for about 10 minutes. I thought it was broken.
The solution is obvious - enable
-v
by default. It's terrible CLI design to have a process run for 10 minutes with no output by default, it just seems like it's broken.The text was updated successfully, but these errors were encountered: