go version
)?$ go version
go version go1.7.3 darwin/amd64
go get
scheint standardmäßig kein nützliches Feedback zu haben.
Fortpflanzen:
go get github.com/die-net/dhtproxy
Dies scheint dann für etwa 10-15 Minuten zu gefrieren. Es gibt keine Rückmeldung.
Schließlich habe ich herausgefunden, dass ich Folgendes kann:
go get -u -v github.com/die-net/dhtproxy
Um den Fortschritt zu sehen, und es scheint, dass youtube/vitess
absolut gigantisch ist, dauert dieser Befehl ewig.
Ich hatte erwartet, etwas in der Art von "Projekt abrufen, Deps abrufen, Deps installieren usw." mit einer Art Fortschrittsbalken zu sehen.
Nichts. Es sitzt nur etwa 10 Minuten da. Ich dachte, es sei kaputt.
Die Lösung liegt auf der Hand – aktivieren Sie standardmäßig -v
. Es ist ein schreckliches CLI-Design, wenn ein Prozess standardmäßig 10 Minuten lang ohne Ausgabe ausgeführt wird, es scheint nur, als wäre er kaputt.
Das ist der Unix-Weg: Seien Sie standardmäßig ruhig, es sei denn, es wurde Ausführlichkeit angefordert oder es liegt ein Fehler vor.
Ich glaube nicht, dass wir das ändern werden. Noch mehr Leute wären gegen das, was sie standardmäßig als Spam (-v) bezeichnen würden.
Die Regel der Stille besagt nicht, dass Programme absolut geräuschlos sein sollten, es sei denn, es liegt ein Fehler vor oder eine Ausgabe wird ausdrücklich angefordert, sondern Programme sollten nicht unnötig ausgegeben werden. Angesichts der Rückmeldung, dass ein Prozess, der 15 Minuten dauert, nicht hängen geblieben ist, ist dies nicht unnötig, sondern ein gutes CLI-Design.
Als Referenz ist keiner (0) der anderen von mir getesteten Paketmanager standardmäßig stumm.
$ pip install test
Collecting test
Downloading test-2.3.4.5.tar.gz
Building wheels for collected packages: test
Running setup.py bdist_wheel for test ... done
Stored in directory: /Users/rjones/Library/Caches/pip/wheels/0e/83/0d/f0f92214b5cce4bcbce4958ddacebf926e1c54c8445f0ba167
Successfully built test
Installing collected packages: test
Successfully installed test-2.3.4.5
$ npm install test
/tmp/
└─┬ [email protected]
└── [email protected]
( npm
hat ein --silent
Flag für diese Funktion)
$ brew install test
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 2 taps (homebrew/core, homebrew/versions).
==> New Formulae
homebrew/versions/postgresql95
==> Updated Formulae
ruby ✔ tig tile38
==> Deleted Formulae
homebrew/versions/postgresql93
Error: No available formula with the name "test"
==> Searching for similarly named formulae...
These similarly named formulae were found:
cpptest cxxtest gjstest homebrew/science/swetest memtester slowhttptest testdisk unittest vttest
cpputest git-test homebrew/games/minetest js-test-driver phoronix-test-suite speedtest_cli testssl unittest-cpp
To install one of them, run (for example):
brew install cpptest
==> Searching taps...
These formulae were found in taps:
homebrew/completions/ctest-completion Caskroom/cask/aja-system-test Caskroom/cask/nsregextester Caskroom/versions/emacs-pretest
homebrew/emacs/test-simple Caskroom/cask/colortester Caskroom/cask/sqlitestudio
To install one of them, run (for example):
brew install homebrew/completions/ctest-completion
usw.
Ich denke, zu sagen "weil es Unix ist" ist ein bisschen unaufrichtig. Es ist _extrem_ üblich, dass Unix-Programme mit lang laufenden Aufgaben Fortschrittsbalken haben - siehe rsync, wget, git usw.
Was ist der Vorteil, hier keinen Fortschrittsbalken zu haben? Es scheint, als ob die Vorteile von "nicht völlig kaputt zu sein" die Vorteile von "nicht einen kleinen Prozentsatz von Benutzern zu ärgern, die Feedback hassen und sich auch weigern, --silent
zu verwenden", bei weitem überwiegen.
Obwohl ich nicht denke, dass einer der von Ihnen erwähnten Paketmanager ein gutes Beispiel ist (sie sind alle die ganze Zeit viel zu laut), stimme ich zu, dass eine Fortschrittsanzeige für go get
nicht schaden kann . GitHub hat vor allem Strecken eher langsam Klon Geschwindigkeiten und die Gesamtlaufzeit ist abhängig von der Anzahl der Abhängigkeiten, die für den Benutzer vorher nicht offensichtlich oder bekannt ist, so hat sich aktiv entscheiden verwenden -v
ist nicht wirklich eine tolle lösung.
Nun, ein Fortschrittsbalken ist nicht wirklich eine Option – er ist standardmäßig zu laut und nicht alle VCSs unterstützen standardmäßig Fortschrittsbalken. Die standardmäßige Aktivierung von -v
ist ebenfalls zu laut.
Leider fällt mir nicht wirklich ein Mechanismus ein, der nicht laut ist und gleichzeitig bei Bedarf genügend Informationen liefert.
Hilfreichster Kommentar
Die Regel der Stille besagt nicht, dass Programme absolut geräuschlos sein sollten, es sei denn, es liegt ein Fehler vor oder eine Ausgabe wird ausdrücklich angefordert, sondern Programme sollten nicht unnötig ausgegeben werden. Angesichts der Rückmeldung, dass ein Prozess, der 15 Minuten dauert, nicht hängen geblieben ist, ist dies nicht unnötig, sondern ein gutes CLI-Design.
Als Referenz ist keiner (0) der anderen von mir getesteten Paketmanager standardmäßig stumm.
(
npm
hat ein--silent
Flag für diese Funktion)usw.
Ich denke, zu sagen "weil es Unix ist" ist ein bisschen unaufrichtig. Es ist _extrem_ üblich, dass Unix-Programme mit lang laufenden Aufgaben Fortschrittsbalken haben - siehe rsync, wget, git usw.
Was ist der Vorteil, hier keinen Fortschrittsbalken zu haben? Es scheint, als ob die Vorteile von "nicht völlig kaputt zu sein" die Vorteile von "nicht einen kleinen Prozentsatz von Benutzern zu ärgern, die Feedback hassen und sich auch weigern,
--silent
zu verwenden", bei weitem überwiegen.