1

我安装了 Compass gem (compass-0.11.beta.2) 以及 Compass susy 插件。每次我运行“指南针手表”时,我都会收到错误消息:
“Errno::ENOSYS on line ["60"] of /path/to/rb-inotify/notifier.rb: initialize inotify”
这是代码块notifier.rb 错误正在引用

def initialize
@fd = Native.inotify_init
  @watchers = {}
  return unless @fd < 0

  raise SystemCallError.new(
    "Failed to initialize inotify" +
    case FFI.errno
    when Errno::EMFILE::Errno; ": the user limit on the total number of inotify instances has been reached."
    when Errno::ENFILE::Errno; ": the system limit on the total number of file descriptors has been reached."
    when Errno::ENOMEM::Errno; ": insufficient kernel memory is available."
    else; ""
    end,
This is line ["60"] ===>  FFI.errno)
end

我已经尝试重新安装所有涉及的 gem,以及每个 gem 的 3-4 个不同版本,但每次我仍然得到相同的错误。谁能帮我一把?

4

1 回答 1

0

你需要升级你的系统。

底层调用inotify_init(2)返回 ENOSYS,这意味着该功能未在系统的 libc 中实现,甚至可能在内核中不支持。

(例如,一些旧版本的 Fedora Linux 似乎inotify在内核中支持该功能,但没有发布公开该功能的 glibc。)

于 2011-03-10T22:18:42.553 回答