我只是想让listen gem正常工作,并尝试了the documentation中的基本示例。
以下是我刚试过的内容,以及有关我的安装的一些信息。我在CentOS上运行。
$ uname -a
Linux www14405ue.sakura.ne.jp 2.6.32-279.2.1.el6.x86_64 #1 SMP Fri Jul 20 01:55:29 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
$ ruby --version
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-linux]
$ gem install listen
....
6 gems installed
$ gem list listen
*** LOCAL GEMS ***
listen (2.0.1)
$ mkdir foo
$ cd foo
$ mkdir bar
$ vim listen.rb
$ cat listen.rb
require 'listen'
listener = Listen.to('bar') do |modified, added, removed|
puts "modified absolute path: #{modified}"
puts "added absolute path: #{added}"
puts "removed absolute path: #{removed}"
end
listener.start # not blocking
sleep
$ ruby listen.rb
$ echo "baz" > bar/baz # from the same directory in another terminal
$ echo "qux" >> bar/baz # a moment later
$ rm bar/baz # again a moment later
我原本期望两个echo
和rm
的输出,但我没有得到任何结果。我尝试将监听路径从bar
更改为./bar
,但这也无济于事。
我在这里缺少什么?
答案 0 :(得分:0)
答案 1 :(得分:0)
我真的不明白为什么,但似乎问题是我在~/tmp
目录下工作。更改工作目录后,一切正常。我不确定为什么,但无论如何都解决了这个问题。