Guard: 退出守卫后,终端中不出现打字

创建于 2014-08-13  ·  23评论  ·  资料来源: guard/guard

我遇到这种奇怪的行为已经有一段时间了。 我将用ctrl+D退出守卫,当我收到 bash 提示时,当我输入时,提示中没有任何显示。 我可以输入 shell 命令并且它们会执行,但是在我输入时没有文本出现。 键入的命令的输出确实显示出来。 使用GNU bash, version 4.2.25(1)-release (x86_64-pc-linux-gnu)

最有用的评论

与此同时,你有没有试过输入reset

(我发现了这个问题,因为当我使用 pry-byebug 运行警卫时,我可以看到我在警卫 repl 中输入的内容,但是当我将 binding.pry 添加到文件时,我看不到我正在输入的内容在那个repl. 奇怪的

所有23条评论

可能是一些 stdout/stderr 剩余物 - 或不死撬会话/线程。

Guard 2.7.0 已发布 - 您还有问题吗? 如果是这样,使提示不可见的最后一行是什么?

谢谢,我会升级,看看这周会发生什么。

刚刚升级,我仍然看到这个问题。 我不确定你的第二个问题是什么意思。 运行规范后 Guard 处于空闲状态,当我按ctrl+D退出时,我会收到$ bash 提示,但是当我尝试输入命令时,它之后没有任何显示。

Guard 使用 LumberJack,我认为是 LumberJack 线程没有被清理(因此,当警卫退出时,LumberJack 在您获得 shell 提示后将剩余的输出消息转储到“背景”中,因此……shell 提示被隐藏。

这可能会很快得到解决。

啊好吧。 谢谢!

与此同时,你有没有试过输入reset

(我发现了这个问题,因为当我使用 pry-byebug 运行警卫时,我可以看到我在警卫 repl 中输入的内容,但是当我将 binding.pry 添加到文件时,我看不到我正在输入的内容在那个repl. 奇怪的

@bf4 - 可能是缓冲问题。 您可以尝试放入您的 Guardfile:

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

并在您的应用程序中的某处执行相同操作(例如在binding.pry )。

这只是为了看看这样做是否会改变任何东西(保持同步输出没有意义)。

这也可能是 readline 和 Pry 的问题,因此您可能希望根据当前在其文档中推荐的内容卸载这两者并安装 Pry(和 readline)。

或者您可以确保在某处没有自定义配置。

我通过删除 readline-rb gem 并根据 osx 编辑 .editrc 来修复它
文档就在 readline 建议之前。 Ruby 2.1.4 通过 rvm 在 osx,
守卫 2.7 和 2.9

我正在关闭它,因为它似乎是一个 readline 问题,而不是一个 Guard 问题。

如果我可以在 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修复是'在那里。 我在历史中寻找它,结果它在Pry Docs 中

如何在 OSX 中获得 Pry 的 readline 支持(ctrl+r 等)?

从技术上讲,对于 OSX,您不需要 readline,我们将专注于使用 OSX 附带的 libedit。

编辑您的主目录中的文件.editrc 。 添加这一行:

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

您现在可以使用 ctrl+r 进行反向历史搜索。

参考: http : 20080313113705760

或者,安装 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 中删除了 spring,没有骰子。

2015 年 4 月 7 日,星期二,上午 11:21,Benjamin Fleischer <
[email protected]> 写道:

@rahilsondhi https://github.com/rahilsondhi export DISABLE_SPRING=1 和
你所有的烦恼都会消失


直接回复此邮件或在 GitHub 上查看
https://github.com/guard/guard/issues/619#issuecomment -90688628。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

lastobelus picture lastobelus  ·  5评论

tomrossi7 picture tomrossi7  ·  6评论

thibaudgg picture thibaudgg  ·  3评论

greyblake picture greyblake  ·  18评论

Odaeus picture Odaeus  ·  21评论