Node.js: ¿qué es el error ENOSPC y cómo solucionarlo?

Resuelto Giffo asked hace 10 años • 18 respuestas

Tengo un problema con Node.js y con la carga de archivos al servidor. Para cargar archivos al servidor utilizo este complemento . Al iniciar la carga del archivo al servidor, el proceso de Node.js falló y muestra el error:

Error: ENOSPC.

El código del servidor no se ejecuta.

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.9G  4.1G  3.5G  55% /
udev            288M  8.0K  288M   1% /dev
tmpfs           119M  168K  118M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            296M     0  296M   0% /run/shm
/dev/xvdf       9.9G  3.0G  6.5G  32% /vol
overflow        1.0M  1.0M     0 100% /tmp
Giffo avatar Mar 18 '14 16:03 Giffo
Aceptado

ENOSPC significa que no hay espacio en el disco.

Ejecute el siguiente comando para evitar ENOSPC:

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

Luego ejecuta:

sysctl --system

Esto también persistirá durante los reinicios. Fuente de detalles técnicos

Murali Krishna avatar Sep 16 '2015 06:09 Murali Krishna

ENOSPCsignifica que no hay espacio en el disco.

¿ Quizás /tmpesté lleno? Puede configurar npmpara usar una carpeta temporal diferente configurando npm config set tmp /path/to/some/other/dir, o tal vez eliminar todo lo que esté fuera de la /tmpcarpeta.

Fuente: npm 1.1.21 no puede escribir, ENOSPC en el repositorio de npm en github.

Tenga en cuenta que resolví mi problema de la forma descrita en la fuente anterior. Sin embargo, consulte la respuesta de Murali Krishna , que es más completa.

Blu avatar Mar 18 '2014 10:03 Blu

Una forma sencilla de resolver mi problema fue:

npm cache clear

npm o un proceso controlado por él está vigilando demasiados archivos. Actualizar max_user_watches en el nodo de compilación puede solucionarlo para siempre. Para Debian ponga lo siguiente en la terminal:

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

Si quieres saber cómo aumentar la cantidad de observadores de inotify, solo haz clic en el enlace.

Danrley Pereira avatar Nov 09 '2018 07:11 Danrley Pereira