1

我只是想让听 gem工作,只是尝试了文档中的基本示例。

这是我刚刚尝试过的,其中包含一些关于我的安装的信息。我在 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但我什么也没得到。我试图将监听路径从 to 更改,bar但这./bar也无济于事。

我在这里想念什么?

4

2 回答 2

0
  1. 它应该是目录的完整路径
  2. 它必须是真实的文件系统 - 不能使用 tmpfs
于 2013-10-08T19:04:46.977 回答
0

我真的不明白为什么,但似乎问题是我在一个~/tmp目录下工作。更改工作目录后,一切都开始正常工作。我不太确定为什么,但无论如何这解决了问题。

于 2013-10-15T08:46:37.207 回答