javascript - reached - internal watch failed: watch enospc
Node.JS: Error al obtener:[nodemon] Error interno de reloj: reloj ENOSPC (9)
Al ejecutar el servidor de nodo, se muestran los siguientes errores y soluciones:
nodemon server.js
[nodemon] 1.17.2
[nodemon] para reiniciar en cualquier momento, ingrese
rs
[nodemon] viendo:.
[nodemon]
node server.js
inicialnode server.js
[nodemon] Error interno de reloj: watch / home / aurum304 / jin ENOSPC
sudo pkill -f node
o
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Acabo de instalar
Node.js
en mi sistema operativo
Ubuntu 14.04
por primera vez.
También instalé
npm
.
El siguiente paso en mi proceso de instalación fue instalar
nodemon
.
Todo esto salió bien.
Pero, cuando ejecuto
nodemon
escribiendo
nodemon app.js
en mi línea de comando,
nodemon app.js
el siguiente error ...
[nodemon] 1.8.1 [nodemon] to restart at any time, enter
rs
[nodemon] watching: *.* [nodemon] starting
nodo app.js
[nodemon] Internal watch failed: watch ENOSPC
En la línea de comando debajo del error ...
alopex@Alopex:~/Desktop/coding_dojo/week-9/javascript/node/testing_node$ Hello World
¿Por qué está pasando esto? ¿Es este comportamiento normal para nodemon? Si no, ¿cómo puedo solucionarlo?
Notas al margen ...
1)
app.js
es un archivo
Javascript
con
console.log(111)
dentro de él.
2) la versión del
node
es
v0.10.25
3) la versión
1.3.10
es
1.3.10
4) la versión de
nodemon
es
1.8.1
5) la versión de
ubuntu
es ...
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
Agregue un archivo de configuración
nodemon.json
en su carpeta raíz y especifique ignorar patrones, por ejemplo:
nodemon.json
{
"ignore": [
"*.test.js",
"dist/*"
]
}
-
Tenga en cuenta que, de forma predeterminada, se
bower_components
.git
,node_modules
,bower_components
,.nyc_output
,coverage
y.sass-cache
, por lo que no necesita agregarlos a su configuración.
Explicación: Este error ocurre porque excedió el número máximo de observadores permitidos por su sistema (es decir,
nodemon
no tiene más espacio en disco para ver todos los archivos, lo que probablemente significa que está viendo archivos no importantes).
Así que ignora los archivos no importantes que no le importan los cambios en ellos, por ejemplo, la salida de compilación o los casos de prueba.
En lugar de especificar una lista de directorios para ignorar (por ejemplo, negativo), también puede especificar una lista de directorios para ver (por ejemplo, positivo):
nodemon --watch dir1 --watch dir2 dir1/examples/index.js
En mi caso particular, tenía un directorio que quería ver y alrededor de nueve quería ignorar, por lo que especificar ''--watch'' era mucho más simple que especificar ''--ignore''
Erik, puedes matar todos los demás procesos de nodo por
pkill -f nodo
y luego reinicie su servidor nuevamente. Funcionará bien entonces.
Parece que mis puertos máximos no se configuraron correctamente. Ejecuté el siguiente código y funcionó ...
echo fs.inotify.max_user_watches=582222 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Lo que hace este comando es aumentar la cantidad de relojes permitidos para un solo usuario.
Por defecto, el número puede ser bajo (8192 por ejemplo).
Cuando
nodemon
intenta observar grandes cantidades de directorios en busca de cambios, tiene que crear varios relojes, que pueden superar ese límite.
También podría resolver este problema de la siguiente manera:
sudo sysctl fs.inotify.max_user_watches=582222 && sudo sysctl -p
Pero la forma en que se escribió primero hará que este cambio sea permanente.
Según la discusión
here
,
ENOSPC
significa
Error No more hard-disk space available
.
La razón por la que tanta memoria requerida por
nodemon
o
gulp-nodemon
(en mi caso) es que estaba viendo el contenido de una carpeta que no debería.
Para arreglar eso, nodemon ha
ignore
configuración que se puede usar para decirle a nodemon qué no debe mirar.
Echa un vistazo a la configuración de muestra de nodemon
here
.
Tuve el mismo error, pero en Ubuntu 14.04 dentro de Windows 10 (Bash en Ubuntu en Windows). Todo lo que hice para superar el error fue actualizar la actualización de Creators, que luego me permitió instalar la versión 16.04 de Ubuntu bash y luego, después de instalar la versión más nueva del nodo (siguiendo this pasos), instalé también la versión más nueva de npm y luego el nodemon comenzó a funcionar correctamente.
en mi caso, cerrar el código de Visual Studio y luego iniciar el servidor hizo el truco
Sistema operativo - ubuntu 16.4 lts
Versión de node.js - 8.11.1
versión npm - 6.0.0
[nodemon] Internal watch failed: watch /home/Document/nmmExpressServer/bin ENOSPC
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `nodemon ./bin/www`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
Este es el error que recibí al ejecutar
nodemon ./bin/www
.
La solución fue cerrar una ventana de Atom que tenía un directorio completo de carpetas abierto en la ventana del proyecto.
No sé por qué, pero supongo que Atom y nodemon usan procesos similares para ver archivos / carpetas.