watchers reached number left for error enospc node.js gruntjs

node.js - reached - Grunt watch error-Waiting... Fatal error: watch ENOSPC



error: enospc: no space left on device, watch (6)

¿Por qué recibo el Waiting...Fatal error: watch ENOSPC cuando ejecuto la tarea de vigilancia? ¿Cómo resuelvo este problema?


Cada vez que necesite ejecutar sudo something ... para arreglar algo, debería hacer una pausa para pensar en lo que está pasando. Si bien la respuesta aceptada aquí es perfectamente válida, es tratar el síntoma en lugar del problema. Sorta el equivalente a comprar alforjas más grandes para resolver el problema de: error, no puede cargar más basura en el pony. Pony ya tiene tanta basura cargada, que se está desmayando de agotamiento.

Una alternativa (tal vez comparable a quitar el exceso de basura del poni y colocarlo en el basurero) es ejecutar:

npm dedupe

Entonces ve a felicitarte por hacer feliz a Pony.


Después de hacer un poco de investigación encontré la solución. Ejecute el siguiente comando.

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Para Arch Linux, agregue esta línea a /etc/sysctl.d/99-sysctl.conf:

fs.inotify.max_user_watches=524288


Después de intentar la respuesta de granada, puedes usar una solución temporal:

sudo bash -c ''echo 524288 > /proc/sys/fs/inotify/max_user_watches''

Esto hace lo mismo que la respuesta de kds , pero sin persistir los cambios. Esto es útil si el error solo ocurre después de un tiempo de actividad de su sistema.


En linux arreglas esto con el comando:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p


Me encontré con este error después de que mi PC cliente jest --watch comando jest --watch que estaba ejecutando en el servidor persistió, y traté de ejecutar jest --watch nuevamente.

La adición a /etc/sysctl.conf descrita en las respuestas anteriores funcionó en torno a este problema, pero también fue importante encontrar mi proceso anterior a través de ps aux | grep node ps aux | grep node y kill .


Para averiguar quién está haciendo inotify instancias , pruebe este comando ( source ):

for foo in /proc/*/fd/*; do readlink -f $foo; done | grep inotify | sort | uniq -c | sort -nr

El mío se veía así:

25 /proc/2857/fd/anon_inode:inotify 9 /proc/2880/fd/anon_inode:inotify 4 /proc/1375/fd/anon_inode:inotify 3 /proc/1851/fd/anon_inode:inotify 2 /proc/2611/fd/anon_inode:inotify 2 /proc/2414/fd/anon_inode:inotify 1 /proc/2992/fd/anon_inode:inotify

Usando ps -p 2857 , pude identificar el proceso 2857 como sublime_text . Solo después de cerrar todas las ventanas sublimes pude ejecutar mi script de nodo.