web-dev-qa-db-fra.com

Grunt watch error - Waiting ... Erreur fatale: surveillez ENOSPC

Pourquoi ai-je le Waiting...Fatal error: watch ENOSPC lorsque j'exécute la tâche de surveillance? Comment résoudre ce problème?

515
kds

Après quelques recherches, nous avons trouvé la solution. Exécutez la commande ci-dessous.

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

Pour Arch Linux, ajoutez cette ligne à /etc/sysctl.d/99-sysctl.conf:

fs.inotify.max_user_watches=524288
1335
kds

Chaque fois que vous devez exécuter Sudo something ... pour réparer quelque chose, vous devriez vous arrêter pour réfléchir à ce qui se passe. Bien que la réponse acceptée ici soit parfaitement valable, il s’agit de traiter le symptôme plutôt que le problème. L’équivalent de l’achat de sacoches plus grandes pour résoudre le problème de: erreur, impossible de charger plus de déchets sur poney. Pony a tellement de déchets déjà chargés que ce poney s'évanouit d'épuisement.

Une alternative (peut-être comparable à enlever les déchets de poney en excès et à la jeter dans la décharge), consiste à exécuter:

npm dedupe

Ensuite, allez vous féliciter d'avoir rendu poney heureux.

181
grenade

Après avoir essayé réponse de la grenade , vous pouvez utiliser un correctif temporaire:

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

Cela fait la même chose que la réponse de kds , mais sans persister les modifications. Ceci est utile si l'erreur se produit juste après une période de disponibilité de votre système.

31
Arne L.

Pour savoir qui crée des instances inotify , essayez cette commande ( source ):

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

Le mien ressemblait à ceci:

 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

En utilisant ps -p 2857, j'ai pu identifier le processus 2857 en tant que sublime_text. Ce n’est qu’après avoir fermé toutes fenêtres sublimes que j’ai pu exécuter mon script de noeud.

7
Michael Lewis

J'ai rencontré cette erreur après la panne de mon ordinateur client. La commande jest --watch que je m'exécutais sur le serveur persistait et j'ai essayé d'exécuter à nouveau jest --watch.

L'ajout à /etc/sysctl.conf décrit dans les réponses ci-dessus a permis de résoudre ce problème, mais il était également important de retrouver mon ancien processus via ps aux | grep node et kill.

3
Aaron

Sous Linux, vous corrigez cela avec la commande:

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

Dans mon cas, il était lié à vs-code s'exécutant sur ma machine Linux. J'ai ignoré un avertissement qui est apparu à propos de File Watcher, bla bla. La solution se trouve sur la page de documentation vs-code de linux https://code.visualstudio.com/docs/setup/linux#_visual-studio-code-is-unable-to-watch-for-file- changements-dans-ce-grand-espace-de-travail-erreur-enospc

La solution est presque la même (sinon identique) que les réponses acceptées, mais elle a plus d'explications pour ceux qui arriveront après avoir rencontré les problèmes de vs-code.

0
azeez