1

私は単純にlisten ジェムを動作させようとしており、ドキュメントの基本的な例を試しただけです。

これが私が試したもので、インストールに関する情報がいくつかあります。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

2 つと の出力を期待していechoましたrmが、何も得られませんでした。barリッスン パスを からに変更しようとしまし./barたが、これも役に立ちませんでした。

ここで何が欠けていますか?

4

2 に答える 2

0
  1. ディレクトリへのフルパスである必要があります
  2. それは実際のファイルシステムでなければなりません - tmpfs では動作しません
于 2013-10-08T19:04:46.977 に答える
0

理由はよくわかりませんが、~/tmpディレクトリの下で作業していたことが問題だったようです。作業ディレクトリを変更した後、すべてが正常に機能し始めました。理由はよくわかりませんが、とにかく問題は解決しました。

于 2013-10-15T08:46:37.207 に答える