Guard: Die Eingabe wird nach dem Verlassen der Wache nicht im Terminal angezeigt

Erstellt am 13. Aug. 2014  ·  23Kommentare  ·  Quelle: guard/guard

Ich habe dieses seltsame Verhalten seit einiger Zeit. Ich beende Guard mit ctrl+D und wenn ich eine Bash-Eingabeaufforderung erhalte, wird bei der Eingabe nichts an der Eingabeaufforderung angezeigt. Ich kann Shell-Befehle eingeben und sie werden ausgeführt, aber während der Eingabe wird kein Text angezeigt. Die Ausgabe der eingegebenen Befehle wird angezeigt. Verwenden von GNU bash, version 4.2.25(1)-release (x86_64-pc-linux-gnu) .

Hilfreichster Kommentar

Haben Sie in der Zwischenzeit versucht, reset einzugeben?

(Ich habe dieses Problem gefunden, weil ich, wenn ich mit pry-byebug Wache ausführe, sehen kann, was ich in meinem Wachrepl eintippe, aber wenn ich einer Datei eine Binding.pry hinzufüge, kann ich nicht sehen, was ich tippe in der Repl. Weird

Alle 23 Kommentare

Könnten ein paar stdout/stderr-Reste sein - oder eine untote Pry-Session/-Thread.

Guard 2.7.0 wurde veröffentlicht - haben Sie das Problem immer noch? Wenn ja, was ist die letzte Zeile, die die Eingabeaufforderung unsichtbar macht?

Danke, ich werde ein Upgrade durchführen und sehen, was diese Woche passiert.

Gerade aktualisiert und ich sehe dieses Problem immer noch. Ich bin mir aber nicht sicher, was du mit deiner zweiten Frage meinst. Guard ist nach dem Ausführen der Spezifikationen im Leerlauf, und wenn ich zum Beenden ctrl+D drücke, erhalte ich meine $ Bash-Eingabeaufforderung, aber nichts wird danach angezeigt, wenn ich versuche, einen Befehl einzugeben.

Guard verwendet LumberJack und ich denke, es sind die LumberJack-Threads, die nicht bereinigt werden (wenn der Guard beendet wird, legt LumberJack die verbleibenden Ausgabenachrichten im "Hintergrund" ab, nachdem Sie die Shell-Eingabeaufforderung erhalten haben, also ... die Shell-Eingabeaufforderung wird ausgeblendet.

Dies wird wahrscheinlich bald behoben sein.

Ah, okay. Danke!

Haben Sie in der Zwischenzeit versucht, reset einzugeben?

(Ich habe dieses Problem gefunden, weil ich, wenn ich mit pry-byebug Wache ausführe, sehen kann, was ich in meinem Wachrepl eintippe, aber wenn ich einer Datei eine Binding.pry hinzufüge, kann ich nicht sehen, was ich tippe in der Repl. Weird

@bf4 - könnte ein Problem mit der Pufferung sein. Sie können versuchen, Ihr Guardfile einzugeben:

$stderr.sync = true
$stdout.sync = true

und machen Sie das gleiche irgendwo in Ihrer App (zB vor binding.pry ).

Das ist nur, um zu sehen, ob sich dadurch etwas ändert (es macht keinen Sinn, die synchronisierte Ausgabe beizubehalten).

Es könnte auch ein Problem mit readline und Pry sein, daher sollten Sie beide deinstallieren und Pry (und readline) gemäß den derzeit in ihren Dokumenten empfohlenen Anweisungen installieren.

Oder stellen Sie sicher, dass Sie nicht irgendwo eine benutzerdefinierte Konfiguration haben.

Ich habe es behoben, indem ich readline-rb gem entfernt und die .editrc per osx bearbeitet habe
docs direkt vor dem Readline-Vorschlag. Ruby 2.1.4 über rvm auf osx,
Schutz 2,7 und 2,9

Ich schließe dies, da es sich um ein Readline-Problem zu handeln scheint, nicht um ein Guard-Problem.

Wenn ich in Guard etwas tun kann, um dies zu verhindern (oder zu beheben), öffnen Sie es bitte erneut.

Ich denke, es könnte tatsächlich ein Problem mit guard-zeus . Als ich diesen Edelstein entfernte, verschwand das Problem.

@mockdeep - seltsam. Aber danke für den Hinweis. Wenn ich es jemals reproduzieren sollte (ich verwende Linux), werde ich das beheben.

Ich habe es ziemlich konstant bekommen, als guard-zeus war. Einfach guard booten, vielleicht ein paar Spezifikationen ausführen, Strg+D drücken und fertig. Ich benutze auch Linux.

Ja, die coole Aktualisierung der Zeus-Ausgabe stört Pry.

Problemumgehung:

guard 'zeus', cli: '> /dev/null' do

Die andere Problemumgehung besteht natürlich darin, Zeus einfach in einem separaten Terminal auszuführen.

Ich habe hier ein Problem eingereicht: https://github.com/guard/guard-zeus/issues/18

Benötigt jedoch Änderungen in Zeus, um dies zu unterstützen.

Schön. Ich werde dies für die Zukunft im Hinterkopf behalten, wenn ich auf ähnliche Probleme stoße. Im Moment sind wir auf spring .

Wenn Sie Spring unter Linux verwenden, möchten Sie vielleicht diese Ausgabe abonnieren: https://github.com/jonleighton/spring-watcher-listen/issues/1 (im Grunde wird Spring, sobald ich dazu komme, inotify verwenden unter Linux statt Polling).

Schön! Gefolgt.

Also sehe ich in den Dokumenten https://github.com/guard/guard/wiki/Add-Readline-support-to-Ruby-on-Mac-OS-X die .editrc mir erwähnte Pry Docs war

Wie erhalte ich Readline-Unterstützung (Strg+R usw.) für Pry in OSX?

Technisch gesehen brauchen Sie für OSX kein readline, und wir konzentrieren uns auf die Verwendung von libedit, das OSX stattdessen mitbringt.

Bearbeiten Sie die Datei .editrc in Ihrem Home-Verzeichnis. Fügen Sie diese Zeile hinzu:

bind "^R" em-inc-search-prev

Sie können jetzt Strg+R verwenden, um eine umgekehrte Verlaufssuche durchzuführen.

Ref: http://hints.macworld.com/article.php?story=20080313113705760

Alternativ installieren Sie GNU Readline und lassen Sie Ruby es verwenden: https://github.com/guard/guard/wiki/Add-Readline-support-to-Ruby-on-Mac-OS-X

Schließlich arbeitet Pry mit rb-readline, einer reinen Ruby-Implementierung von Readline, die nicht unter den Plattform- und Installationsabhängigkeiten des Standard-Readline leiden sollte.
Ref: https://github.com/luislavena/rb-readline

Es scheint, dass diese Dokumente miteinander sprechen. Darf ich die Editrc-Informationen oder einen Link zu den Pry-Dokumenten hinzufügen?

@bf4 -

Darf ich die Editrc-Informationen oder einen Link zu den Pry-Dokumenten hinzufügen?

Absolut! Es wäre sehr dankbar!

Ich habe dieses Problem auch. Selbst nach einem Neustart verwende ich spring+guard, wenn ich einen Binding.pry-Haltepunkt in meinen Code einfüge, kann ich nichts sehen, was ich tippe. Ich habe versucht, bind "^R" em-inc-search-prev zu ~/.editrc hinzuzufügen und mein Terminal neu gestartet, aber das hat nicht geholfen. Ich habe es auch mit reset versucht, hat nicht geholfen.

@rahilsondhi export DISABLE_SPRING=1 und all deine Probleme werden verschwinden

Danke. Ich habe versucht, das in mein Terminal einzugeben, bevor ich mit der Wache begonnen habe - nein
Würfel. Ich habe sogar die Feder aus meiner Guardfile entfernt, keine Würfel.

Am Di, 7. April 2015 um 11:21 Uhr, Benjamin Fleischer <
[email protected]> schrieb:

@rahilsondhi https://github.com/rahilsondhi export DISABLE_SPRING=1 und
all deine Probleme werden verschwinden


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/guard/guard/issues/619#issuecomment -90688628.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

tomrossi7 picture tomrossi7  ·  6Kommentare

jonmchan picture jonmchan  ·  16Kommentare

Antti picture Antti  ·  4Kommentare

Odaeus picture Odaeus  ·  21Kommentare

greyblake picture greyblake  ·  18Kommentare