Estoy aprendiendo graphql
y usando prisma-binding
para operaciones graphql. Me enfrento a este nodemon
error mientras inicio mi servidor de nodos y me da la ruta del archivo de esquema que se genera automáticamente mediante un archivo graphql-cli
. ¿Alguien puede decirme de qué se trata este error?
Error:
Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/media/rehan-sattar/Development/All projects/GrpahQl/graph-ql-course/graphql-prisma/src/generated
node_modules
son esenciales porque todos los paquetes están ahí. Intenté eliminar los procesos anteriores que se ejecutaban en el puerto de mi servidor, funcionó para mí, pero no sé cuánto tiempo tomará ahora: DRespuestas:
Si está utilizando Linux, su proyecto está alcanzando el límite de observadores de archivos de su sistema
Para solucionar esto, en su terminal, intente:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
fuente
sysctl --system
para recargar para sistemas más recientesfind /proc/*/fd -user "$USER" -lname anon_inode:inotify -printf '%hinfo/%f\n' 2>/dev/null | xargs cat | grep -c '^inotify'
A veces tengo este problema cuando trabajo con VSCode en mi máquina Ubuntu.
En mi caso, la siguiente solución alternativa ayuda:
detenga el observador, cierre VScode, inicie el observador, abra VSCode nuevamente.
fuente
Necesita aumentar el límite de observadores inotify para los usuarios de su sistema. Puede hacer esto desde la línea de comando con:
sudo sysctl -w fs.inotify.max_user_watches=100000
Sin embargo, eso persistirá solo hasta que reinicie. Para que esto sea permanente, agregue un archivo
/etc/sysctl.d/10-user-watches.conf
con el siguiente contenido:fs.inotify.max_user_watches = 100000
Después de realizar el cambio anterior (o cualquier otro), puede volver a cargar la configuración de todos los archivos de configuración sysctl
/etc
consudo sysctl -p
.fuente
/etc/sysctl.d/10-user-watches.conf
y ponlofs.inotify.max_user_watches = 100000
.echo fs.inotify.max_user_watches=100000 | sudo tee /etc/sysctl.d/10-user-watches.conf && sudo sysctl -p
.sysctl --system
para recargar para sistemas más recientesPara probar los cambios, configuro temporalmente el parámetro con el valor 524288.
sysctl -w fs.inotify.max_user_watches=524288
luego procedo a validar:
Y el problema fue resuelto, para que sea permanente, debes intentar agregar una línea en el archivo "/etc/sysctl.conf" y luego reiniciar el servicio sysctl:
cat /etc/sysctl.conf |tail -n 2 fs.inotify.max_user_watches=524288 sudo systemctl restart systemd-sysctl.service
fuente
Puede ser difícil saber cuánto aumentar el número de observadores. Entonces, aquí hay una utilidad para duplicar la cantidad de observadores:
function get_inode_watcher_count() { find /proc/*/fd -user "$USER" -lname anon_inode:inotify -printf '%hinfo/%f\n' 2>/dev/null | xargs cat | grep -c '^inotify' } function set_inode_watchers() { sudo sysctl -w fs.inotify.max_user_watches="$1" } function double_inode_watchers() { watcher_count="$(get_inode_watcher_count)" set_inode_watchers "$((watcher_count * 2))" if test "$1" = "-p" || test "$1" = "--persist"; then echo "fs.inotify.max_user_watches = $((watcher_count * 2))" > /etc/sysctl.d/10-user-watches.conf fi } # Usage double_inode_watchers # to make the change persistent double_inode_watchers --persist
fuente
Tuve el mismo problema, sin embargo, el mío venía de webpack. Afortunadamente, tienen una gran solución en su sitio :
webpack.config.js
module.exports = { watchOptions: { ignored: /node_modules/ } };
fuente
En Linux, de hecho he ejecutado sudo.
sudo npm start
fuente