/ / Ottenere l'errore rb-inotify “Errno :: ENOSYS” con plugin compass e susy - ruby, compass-sass, sass

Ottenere l'errore rb-inotify "Errno :: ENOSYS" con la bussola e il plugin susy - ruby, compass-sass, sass

Ho installato la gemma Compass (compass-0.11.beta.2), insieme al plugin susy Compass. Ogni volta che eseguo "compass watch", ricevo l'errore:
"Errno :: ENOSYS on line [" 60 "] di /path/to/rb-inotify/notifier.rb: inizializza inotify"
Questo è il blocco di codice in notifier.rb a cui fa riferimento l'errore

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

Ho provato a reinstallare tutte le gemme coinvolte, nonché 3-4 diverse versioni di ognuna, ma ho sempre lo stesso errore ogni volta. Qualcuno può darmi una mano?

risposte:

0 per risposta № 1

Devi aggiornare il tuo sistema.

La chiamata sottostante a inotify_init(2) sta restituendo ENOSYS, il che significa che la funzionalità non è implementata nella libc del sistema e forse non è nemmeno supportata nel kernel.

(Alcune vecchie versioni di Fedora Linux, ad esempio, sembrano aver supportato il inotify nel kernel ma non ha fornito un glibc che ha esposto la funzione.)