Guard: ガードを終了した後、ターミナルに入力が表示されない

作成日 2014年08月13日  ·  23コメント  ·  ソース: guard/guard

私はしばらくの間、この奇妙な振る舞いに遭遇してきました。 ctrl+Dガードを終了し、bashプロンプトが表示されても、入力してもプロンプトに何も表示されません。 シェルコマンドを入力すると実行されますが、入力時にテキストが表示されません。 入力したコマンドからの出力は表示されます。 GNU bash, version 4.2.25(1)-release (x86_64-pc-linux-gnu)ます。

最も参考になるコメント

それまでの間、 resetと入力してみましたか?

(この問題を見つけたのは、pry-byebugでguardを実行しているときに、guard replに入力した内容を確認できますが、ファイルにbinding.pryを追加すると、入力内容が表示されないためです。その担当者の奇妙な

全てのコメント23件

stdout / stderrの残り物、またはアンデッドのこじ開けセッション/スレッドである可能性があります。

Guard 2.7.0がリリースされました-まだ問題がありますか? もしそうなら、プロンプトを非表示にしている最後の行は何ですか?

おかげで、私はアップグレードして、今週何が起こるかを見ていきます。

アップグレードしたばかりですが、まだこの問題が発生しています。 2番目の質問で何を意味するのかわかりません。 仕様の実行後、Guardはアイドル状態であり、 ctrl+Dを押して終了すると、 $ bashプロンプトが表示されますが、コマンドを入力しようとすると何も表示されません。

GuardはLumberJackを使用しており、クリーンアップされないのはLumberJackスレッドだと思います(したがって、Guardが終了すると、シェルプロンプトを取得した後、LumberJackは残りの出力メッセージを「バックグラウンド」にダンプします。シェルプロンプト隠されます。

これはおそらくすぐに修正されるでしょう。

うん、いいよ。 ありがとう!

それまでの間、 resetと入力してみましたか?

(この問題を見つけたのは、pry-byebugでguardを実行しているときに、guard replに入力した内容を確認できますが、ファイルにbinding.pryを追加すると、入力内容が表示されないためです。その担当者の奇妙な

@ bf4-バッファリングの問題である可能性があります。 Guardfileを入れてみることができます:

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

アプリのどこかで同じことをします(たとえば、 binding.pry )。

これは、そうすることで何かが変わるかどうかを確認するためだけのものです(同期された出力を維持することは意味がありません)。

これはreadlineとPryの問題でもある可能性があるため、両方をアンインストールして、現在ドキュメントで推奨されている方法に従ってPry(およびreadline)をインストールすることをお勧めします。

または、どこかにカスタム構成がないことを確認することもできます。

readline-rb gemを削除し、.editrc perosxを編集して修正しました
readlineの提案の直前のドキュメント。 osx上のrvm経由のRuby2.1.4、
ガード2.7および2.9

これは、Guardの問題ではなく、readlineの問題のようであるため、終了します。

これを防ぐ(または修正する)ためにGuardでできることがあれば、もう一度開いてください。

実際にはguard-zeus問題だったのではないかと思います。 その宝石を取り除くと、問題はなくなりました。

@ mockdeep-奇妙です。 しかし、私に知らせてくれてありがとう。 私がそれを再現した場合(私はLinuxを使用しています)、これを解決します。

guard-zeusが接続されたとき、私はかなり一貫してそれを取得していました。 guard起動し、いくつかの仕様を実行し、ctrl + Dとprestoを押すだけです。 私もLinuxを使っています。

ええ、クールなZeus出力の更新はPryに干渉します。

回避策:

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

もちろん、他の回避策は、別の端末でZeusを実行することです。

ここで問題を送信しました: https

ただし、これをサポートするにはZeusを変更する必要があります。

良い。 同様の問題が発生した場合は、今後このことを念頭に置いておくつもりです。 今のところ、 spring切り替えました。

LinuxでSpringを使用している場合は、この問題をサブスクライブすることをお勧めします: https

良い! フォローしました。

だから、私はドキュメントhttps://github.com/guard/guard/wiki/Add-Readline-support-to-Ruby-on-Mac-OS-Xで私が言及した.editrc修正がないことを確認しますそこに。 私は歴史の中でそれを探しました、そしてそれはPryDocsにあったことが

OSXでPryのreadlineサポート(ctrl + rなど)を取得するにはどうすればよいですか?

技術的にはOSXの場合、readlineは必要ありません。代わりに、OSXに付属しているlibeditの使用に焦点を当てます。

ホームディレクトリのファイル.editrcを編集します。 この行を追加します:

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

これで、ctrl + rを使用して履歴の逆検索を実行できます。

参照: http

または、GNU Readlineをインストールして、Rubyに使用させます: https

最後に、Pryはrb-readlineで動作します。これは、Readlineの純粋なRuby実装であり、プラットフォームの影響を受けず、標準のReadlineの依存関係をインストールする必要があります。
参照: https

これらのドキュメントは互いに話し合っているようです。 editrc情報またはpryドキュメントへのリンクを追加できますか?

@ bf4-

editrc情報またはpryドキュメントへのリンクを追加できますか?

絶対! よろしくお願いします!

私もこの問題を抱えています。 新たに再起動した後でも、spring + guardを使用しています。コードにbinding.pryブレークポイントを設定すると、入力したものが何も表示されません。 bind "^R" em-inc-search-prev~/.editrc追加して端末を再起動しようとしましたが、効果がありませんでした。 私もresetを試しましたが、役に立ちませんでした。

@rahilsondhi export DISABLE_SPRING=1そしてあなたの悩みはすべて消えます

ありがとう。 ガードを開始する前にターミナルに入れてみました-いいえ
サイコロ。 サイコロではなく、Guardfileからスプリングを削除しました。

2015年4月7日火曜日午前11時21分、ベンジャミンフライシャー<
[email protected]>は次のように書いています:

@rahilsondhi https://github.com/rahilsondhi export DISABLE_SPRING = 1および
あなたの悩みはすべて消えます


このメールに直接返信するか、GitHubで表示してください
https://github.com/guard/guard/issues/619#issuecomment-90688628

このページは役に立ちましたか?
0 / 5 - 0 評価