在提示之前,Guard不会对更改做出反应

时间:2013-05-27 22:09:45

标签: ruby-on-rails macos rspec guard listen

我在一些rails应用程序中遇到过这个问题,我无法弄清楚常见的线程是什么,或者找不到对这个特定问题的讨论。

以下是发生的情况:在更改文件时,guard不会运行规范。但是,如果我在其提示符处按Enter键,使其运行所有规格,则会立即运行所有已更改文件的规格。它似乎是应该检测到的变化,但是在我做出某些事情之后才会对它们采取行动。这使得警卫对我来说毫无用处。

显而易见的答案是尝试不同的方法来监控文件更改。例如,我已经阅读了尝试更新或降级listen gem的建议。我也尝试用--force-polling运行(bundle exec)后卫,它的行为方式相同。这些在这个应用程序中没有任何区别。这里有一个奇怪的事情:我在同一台计算机上有一个相关的rails应用程序,使用相同版本的所有相关宝石,以及一个相同的Guardfile,它可以正常工作! Here是Guardfile(几乎没有从某个模板修改过),供参考。

我在OS X 10.8.3上。有问题的应用程序目前正在使用Rails 3.2.6,guard 1.2.1,rspec 2.12.0和listen 0.6.0。

1 个答案:

答案 0 :(得分:1)

使用Guard和Listen的过期版本是否有特定原因?

  

我在同一台计算机上有一个相关的rails应用程序,使用相同版本的所有相关宝石,以及一个相同的Guardfile,它可以正常工作!

这些应用程序是否使用不同的Ruby版本?如果有人在Ruby 1.8.7上,那么你是add proper readline support吗?