我设置了Yosemite的干净安装,无论何时更改文件都无法检测到。
我的环境:
guard (2.6.1)
guard-minitest (2.2.0)
rubygems-bundler (1.4.4)
Ruby 1.9.3 and 2.0.0 both have been testing
以下是调试的输出:
tom@Toms-MBP:~/Sites/tick (master)$ LISTEN_GEM_DEBUGGING=2 bundle exec guard -d
I, [2014-10-27T15:34:53.417196 #1059] INFO -- : Celluloid loglevel set to: 0
15:34:53 - DEBUG - Command execution: emacsclient --eval '1' 2> /dev/null || echo 'N/A'
15:34:53 - INFO - Guard is using TerminalTitle to send notifications.
15:34:53 - DEBUG - Command execution: hash stty
15:34:53 - DEBUG - Guard starts all plugins
15:34:53 - DEBUG - Hook :start_begin executed for Guard::Minitest
15:34:53 - INFO - Guard::Minitest 2.3.2 is running, with Minitest::Unit 4.7.5!
15:34:53 - DEBUG - Hook :start_end executed for Guard::Minitest
15:34:53 - INFO - Guard is now watching at '/Users/tom/Dropbox/Sites/tick'
15:34:53 - DEBUG - Command execution: sysctl -n hw.ncpu
D, [2014-10-27T15:34:53.517668 #1059] DEBUG -- : Adapter: considering TCP ...
D, [2014-10-27T15:34:53.517749 #1059] DEBUG -- : Adapter: considering polling ...
D, [2014-10-27T15:34:53.517776 #1059] DEBUG -- : Adapter: considering optimized backend...
I, [2014-10-27T15:34:53.587089 #1059] INFO -- : Record.build(): 0.06837701797485352 seconds
15:34:53 - DEBUG - Command execution: stty -g 2>/dev/null
15:34:53 - DEBUG - Start interactor
[1] guard(main)>
我不确定如何测试底层的监听gem,但似乎必须要相关。我已经确认警卫可以正常使用轮询(bundle exec guard start --force-polling
)。
答案 0 :(得分:1)
我可以通过将文件移出Dropbox来解决我的问题。一旦我看到这个工作,我知道Dropbox以某种方式导致文件系统的问题。我通过删除文件夹并通过Dropbox重新添加它来解决它,现在一切都像以前一样工作。
答案 1 :(得分:0)
我遇到了同样的问题,只是感谢我修复了LiveReload应用程序发出的警告。 因为问题并没有限制在Dropbox上的Dropbox和/或ruby,我想分享我的所作所为:
LiveReload提到的其他解决方案是:
- 重新启动计算机
- 通过“磁盘工具”检查磁盘并修复权限
- 将文件夹添加到Spotlight隐私列表(要编制的文件夹列表中),然后从中删除,有效地强制执行 重新索引
- 重命名文件夹,然后可能将其重命名为
- 重新创建文件夹并将旧内容移回其中
了解详情:http://feedback.livereload.com/knowledgebase/articles/86239
这不仅修复了我的Guard问题,还允许Compass watch
再次运行。
答案 2 :(得分:0)
您是否添加了 rb-fsevent gem?
group :development, :test do
gem 'rb-fsevent' if `uname` =~ /Darwin/
end
如果您正在使用OS X,它将使用OS X FSEvents API。