Node.js: quelle est l’erreur ENOSPC et comment résoudre?

J’ai un problème avec Node.js et le téléchargement de fichiers sur le serveur. Pour télécharger des fichiers sur le serveur, j’utilise ce plugin . Lors du démarrage du téléchargement de fichiers sur le serveur, le processus Node.js s’est bloqué et affiche l’erreur:

Erreur: ENOSPC.

Le code du serveur ne s’exécute pas.

$ 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 

Exécutez la commande ci-dessous pour éviter ENOSPC:

 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 

Puis exécutez:

 sysctl --system 

Cela persistera également lors des redémarrages.

https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers#the-technical-details

ENOSPC signifie qu’il n’y a pas d’espace sur le lecteur.

Peut /tmp être que /tmp est plein? Vous pouvez configurer npm pour utiliser un autre dossier temporaire en définissant npm config set tmp /path/to/some/other/dir , ou éventuellement supprimer tout le /tmp dossier /tmp .

Source: npm 1.1.21 ne peut pas écrire, ENOSPC dans le référentiel de npm dans github.

Remarque J’ai résolu mon problème de la manière décrite dans la source ci-dessus. Cependant, voir la réponse de Murali Krishna ci-dessous, qui est plus complète.

Vous ne pouvez pas accepter cela, mais @grenade a souligné que npm dedupe corrigera la cause (trop de fichiers) et non le symptôme.

Source: Erreur de surveillance Grunt – En attente… Erreur fatale: regardez ENOSPC .

Le redémarrage de la machine a résolu le problème pour moi. J’ai d’abord essayé d’effacer /tmp/ mais le noeud se plaignait toujours.

J’ai résolu mon problème en tuant tous les processus de contrôle du suivi (vous pouvez essayer si vous utilisez GDM, évidemment pas votre cas si le script est exécuté sur un serveur)

 tracker-control -r 

Ma configuration: Arch avec GNOME 3

Si votre assembly /tmp sur un système de fichiers Linux est monté en tant que débordement (souvent de 1 Mo), cela est probablement dû au fait que vous n’avez pas spécifié /tmp tant que partition propre et que votre système de fichiers racine s’est rempli et que /tmp été remonté en tant que solution de secours.

Pour résoudre ce problème une fois que vous avez libéré de l’espace, démontez simplement la solution de repli et elle doit remonter à son point initial:

 sudo umount overflow 

Pour moi, j’ai atteint le nombre maximum de fichiers qu’un utilisateur peut posséder

Vérifiez vos numéros avec quota -s et que le nombre sous les fichiers n’est pas trop proche du quota

Si vous rencontrez cette erreur lors de la tentative d’exécution de la commande du ember server , rm -rf tmp directory. Puis lancez à nouveau ember s . Ça m’a aidé.

Dans mon cas, sur Linux, sudoing a résolu le problème.

Exemple:

 sudo gulp dev