私はしばらくの間、この奇妙な振る舞いに遭遇してきました。 ctrl+D
ガードを終了し、bashプロンプトが表示されても、入力してもプロンプトに何も表示されません。 シェルコマンドを入力すると実行されますが、入力時にテキストが表示されません。 入力したコマンドからの出力は表示されます。 GNU bash, version 4.2.25(1)-release (x86_64-pc-linux-gnu)
ます。
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 。
最も参考になるコメント
それまでの間、
reset
と入力してみましたか?(この問題を見つけたのは、pry-byebugでguardを実行しているときに、guard replに入力した内容を確認できますが、ファイルにbinding.pryを追加すると、入力内容が表示されないためです。その担当者の奇妙な