Tengo un problema con Node.js y al subir archivos al servidor. Para subir archivos al servidor, uso este complemento . Al iniciar la carga de archivos al servidor, el proceso Node.js se bloqueó y mostró un 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
Respuestas:
Ejecute el siguiente comando para evitar ENOSPC:
Para Arch Linux, agregue esta línea a
/etc/sysctl.d/99-sysctl.conf
:Luego ejecuta:
Esto también persistirá en todos los reinicios. Fuente de detalles técnicos
fuente
ENOSPC
? ¿Por qué no tener una descripción justo después de la salidaENOSPC - no space on drive
? Claro, el código de error tiene sentido una vez que sabes lo que significa ( E rror NO SP un C e), pero ¿por qué no ofrecer a los usuarios información de que en la delantera?ENOSPC
significa que no hay espacio en el disco.Quizás
/tmp
está lleno? Puede configurarnpm
para usar una carpeta temporal diferente configurandonpm config set tmp /path/to/some/other/dir
, o tal vez eliminar todo de la/tmp
carpeta.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 manera que se describe en la fuente anterior. Sin embargo, vea la respuesta de Murali Krishna a continuación, que es más completa.
fuente
npm config get tmp
show / vol / deploy / tmpevents.js:71 throw arguments[1]; // Unhandled 'error' event Error: ENOSPC, write
No puedo dar crédito por esto, pero @grenade señaló que
npm dedupe
solucionará la causa (demasiados archivos) y no el síntoma.Fuente: Error de reloj de Grunt - Esperando ... Error fatal: reloj de ENOSPC .
fuente
Una forma simple de resolver mi problema fue:
npm o un proceso controlado por él está viendo demasiados archivos. Actualizar max_user_watches en el nodo de compilación puede solucionarlo para siempre. Para debian ponga lo siguiente en la terminal:
Si quieres saber cómo aumentar la cantidad de observadores de inotify solo haz clic en el enlace.
fuente
forever,
solucionado cuando creo el archivo.foreverignore
y lo agrego a la carpetanode_modules.
Reiniciar la máquina resolvió el problema para mí. Primero intenté limpiar,
/tmp/
pero el nodo aún se quejaba.fuente
dedupe
ayudado.En Linux, es probable que esto sea un límite en la cantidad de archivos observados.
El servidor de desarrollo usa inotify para implementar la recarga en caliente. La API de inotify permite que el servidor de desarrollo vea archivos y reciba notificaciones cuando cambien.
El límite predeterminado de observación del archivo inotify varía de una distribución a otra (8192 en Fedora). Las necesidades del servidor de desarrollo a menudo exceden este límite.
El mejor enfoque es intentar aumentar el límite de observación de archivos temporalmente, luego hacer un cambio de configuración permanente si está satisfecho con él. Sin embargo, tenga en cuenta que esto cambia la configuración de todo su sistema, no solo el nodo.
Para ver su límite actual:
Para establecer temporalmente un nuevo límite:
Para establecer un límite permanente:
fuente
En Ubuntu 18.04, probé un truco que usé para reactivar el archivo mirando por ionic / node, y también funciona aquí. Esto podría ser útil para aquellos que no tienen acceso a los archivos conf del sistema.
fuente
Resolví mi problema eliminando todos los procesos de control de rastreadores (podría intentarlo si usa GDM, obviamente no es su caso si el script se ejecuta en un servidor)
Mi configuración: Arch con GNOME 3
fuente
Si su
/tmp
montaje en un sistema de archivos de Linux se monta como desbordamiento (a menudo con un tamaño de 1 MB), esto probablemente se deba a que no especificó/tmp
como su propia partición y su sistema de archivos raíz se llenó y/tmp
se volvió a montar como respaldo.Para solucionar esto después de que haya despejado el espacio, simplemente desmonte el respaldo y debería volver a montar en su punto original:
fuente
Si encuentra este error al intentar ejecutar el
ember server
comando, realice unrm -rf tmp
directorio. Luego corre deember s
nuevo. Me ayudó.fuente
Estaba teniendo el mismo error. Mientras ejecuto la aplicación Reactjs. Lo que hago es eliminar la carpeta node_modules y escribir e instalar node_modules nuevamente. Esto elimina el error.
fuente
Para mí, había alcanzado el número máximo de archivos que un usuario puede tener
Verifique sus números con
quota -s
y que el número debajo de los archivos no esté demasiado cerca de la cuotafuente
Esto suena muy extraño, pero sí, un reinicio del sistema o me
killall node
resuelve el problema.fuente
En mi caso, en Linux, sudoing solucionó el problema.
Ejemplo:
fuente