我安装了Compass gem(compass-0.11.beta.2)以及Compass susy插件。每次我运行“罗盘手表”时,都会收到错误:
“Errno :: ENOSYS在/path/to/rb-inotify/notifier.rb的行[”60“]:初始化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
我已经尝试重新安装所有涉及的宝石,以及每个宝石的3-4个不同版本,但我每次都会得到相同的错误。任何人都可以帮我一把吗?
答案 0 :(得分:0)
您需要升级系统。
对inotify_init(2)
的底层调用正在返回ENOSYS,这意味着该功能未在系统的libc中实现,甚至可能在内核中不受支持。
(例如,某些旧版本的Fedora Linux似乎支持内核中的inotify
工具,但没有发布暴露该功能的glibc。)